From 4fbb2f66d6144953837361e808845edb181b124e Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Tue, 25 Aug 2020 11:58:09 +0200 Subject: Add a QMetaSequence interface This is in line with QMetaType and will be used to implement a mutable QSequentialIterable. Later on, a QMetaAssociation will be added as well, to implement a mutable QAssociativeIterable. The code here represents the minimal set of functionality needed to have a practical sequential container. The functionality is not completely orthogonal. In particular, the index based operations could be implemented in terms of iterator-based operations. Task-number: QTBUG-81716 Change-Id: Ibd41eb7db248a774673c701549d9a03cbf2e48b6 Reviewed-by: Fabian Kosmale --- qmake/.prev_CMakeLists.txt | 2 ++ qmake/CMakeLists.txt | 2 ++ qmake/Makefile.unix | 6 +++++- qmake/qmake.pro | 3 +++ 4 files changed, 12 insertions(+), 1 deletion(-) (limited to 'qmake') diff --git a/qmake/.prev_CMakeLists.txt b/qmake/.prev_CMakeLists.txt index 127da3d71f..8719a3eb54 100644 --- a/qmake/.prev_CMakeLists.txt +++ b/qmake/.prev_CMakeLists.txt @@ -38,6 +38,7 @@ qt_add_tool(${target_name} ../src/3rdparty/pcre2/src/pcre2_ucp.h ../src/3rdparty/pcre2/src/pcre2_valid_utf.c ../src/3rdparty/pcre2/src/pcre2_xclass.c + ../src/corelib/global/qcontainerinfo.h ../src/corelib/global/qglobal.cpp ../src/corelib/global/qglobal.h ../src/corelib/global/qlibraryinfo.cpp ../src/corelib/global/qlogging.cpp @@ -57,6 +58,7 @@ qt_add_tool(${target_name} ../src/corelib/io/qiodevice.cpp ../src/corelib/io/qiodevice.h ../src/corelib/io/qsettings.cpp ../src/corelib/io/qtemporaryfile.cpp ../src/corelib/io/qtemporaryfile.h + ../src/corelib/kernel/qmetacontainer.cpp ../src/corelib/kernel/qmetacontainer.h ../src/corelib/kernel/qmetatype.cpp ../src/corelib/kernel/qmetatype.h ../src/corelib/kernel/qsystemerror.cpp ../src/corelib/kernel/qsystemerror_p.h ../src/corelib/kernel/qvariant.cpp diff --git a/qmake/CMakeLists.txt b/qmake/CMakeLists.txt index 15c85b3400..fc5d488c49 100644 --- a/qmake/CMakeLists.txt +++ b/qmake/CMakeLists.txt @@ -41,6 +41,7 @@ qt_add_tool(${target_name} ../src/3rdparty/pcre2/src/pcre2_ucp.h ../src/3rdparty/pcre2/src/pcre2_valid_utf.c ../src/3rdparty/pcre2/src/pcre2_xclass.c + ../src/corelib/global/qcontainerinfo.h ../src/corelib/global/qendian.cpp # special case ../src/corelib/global/qglobal.cpp ../src/corelib/global/qglobal.h ../src/corelib/global/qlibraryinfo.cpp @@ -65,6 +66,7 @@ qt_add_tool(${target_name} ../src/corelib/io/qiodevice.cpp ../src/corelib/io/qiodevice.h ../src/corelib/io/qsettings.cpp ../src/corelib/io/qtemporaryfile.cpp ../src/corelib/io/qtemporaryfile.h + ../src/corelib/kernel/qmetacontainer.cpp ../src/corelib/kernel/qmetacontainer.h ../src/corelib/kernel/qmetatype.cpp ../src/corelib/kernel/qmetatype.h ../src/corelib/kernel/qsystemerror.cpp ../src/corelib/kernel/qsystemerror_p.h ../src/corelib/kernel/qvariant.cpp diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix index da49bb3177..822150f246 100644 --- a/qmake/Makefile.unix +++ b/qmake/Makefile.unix @@ -25,7 +25,7 @@ QOBJS = \ qiodevice.o qsettings.o qtemporaryfile.o qtextstream.o \ qcborstreamwriter.o qcborvalue.o \ qjsoncbor.o qjsonarray.o qjsondocument.o qjsonobject.o qjsonparser.o qjsonvalue.o \ - qmetatype.o qsystemerror.o qvariant.o \ + qmetacontainer.o qmetatype.o qsystemerror.o qvariant.o \ quuid.o \ qarraydata.o qbitarray.o qbytearray.o qbytearraylist.o qbytearraymatcher.o \ qcalendar.o qgregoriancalendar.o qromancalendar.o \ @@ -96,6 +96,7 @@ DEPEND_SRC = \ $(SOURCE_PATH)/src/corelib/io/qiodevice.cpp \ $(SOURCE_PATH)/src/corelib/io/qsettings.cpp \ $(SOURCE_PATH)/src/corelib/io/qtemporaryfile.cpp \ + $(SOURCE_PATH)/src/corelib/kernel/qmetacontainer.cpp \ $(SOURCE_PATH)/src/corelib/kernel/qmetatype.cpp \ $(SOURCE_PATH)/src/corelib/kernel/qsystemerror.cpp \ $(SOURCE_PATH)/src/corelib/kernel/qvariant.cpp \ @@ -354,6 +355,9 @@ qvsnprintf.o: $(SOURCE_PATH)/src/corelib/text/qvsnprintf.cpp qbytearraymatcher.o: $(SOURCE_PATH)/src/corelib/text/qbytearraymatcher.cpp $(CXX) -c -o $@ $(CXXFLAGS) $< +qmetacontainer.o: $(SOURCE_PATH)/src/corelib/kernel/qmetacontainer.cpp + $(CXX) -c -o $@ $(CXXFLAGS) $< + qmetatype.o: $(SOURCE_PATH)/src/corelib/kernel/qmetatype.cpp $(CXX) -c -o $@ $(CXXFLAGS) $< diff --git a/qmake/qmake.pro b/qmake/qmake.pro index 4ba7a41fad..9decc10edc 100644 --- a/qmake/qmake.pro +++ b/qmake/qmake.pro @@ -148,6 +148,7 @@ SOURCES += \ qlocale_tools.cpp \ qlogging.cpp \ qmalloc.cpp \ + qmetacontainer.cpp \ qmetatype.cpp \ qnumeric.cpp \ qregularexpression.cpp \ @@ -181,6 +182,7 @@ HEADERS += \ qcborvalue.h \ qcborvalue_p.h \ qchar.h \ + qcontainerinfo.h \ qcryptographichash.h \ qdatetime.h \ qdatetime_p.h \ @@ -204,6 +206,7 @@ HEADERS += \ qlocale.h \ qlocale_tools_p.h \ qmap.h \ + qmetacontainer.h \ qmetatype.h \ qnumeric.h \ qregularexpression.h \ -- cgit v1.2.3