diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2016-04-24 00:07:28 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2016-04-25 05:11:12 +0000 |
commit | 0909a94af2d274840697e4ae25cc14b3f5eb6197 (patch) | |
tree | 5e239e4521627d5e6cdf3f6edfe6bb0f85f3618a /src/corelib | |
parent | 4579d966af2e5d4ba229f13312eeb2f921406038 (diff) |
QtCore: mark more types as primitive/movable
These types are held in QVarLengthArrays, so benefit
from being trivially relocatable. They are also part
of the private API, so there's no BC issues with
potential uses of these types in QList.
Change-Id: I8adc0c801885f8fffa05eb1f173d7e4bb085ba7b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/json/qjson_p.h | 2 | ||||
-rw-r--r-- | src/corelib/kernel/qmetaobject_p.h | 1 | ||||
-rw-r--r-- | src/corelib/tools/qharfbuzz_p.h | 1 | ||||
-rw-r--r-- | src/corelib/tools/qunicodetools_p.h | 4 |
4 files changed, 8 insertions, 0 deletions
diff --git a/src/corelib/json/qjson_p.h b/src/corelib/json/qjson_p.h index e5010c2da7..3580e0b61c 100644 --- a/src/corelib/json/qjson_p.h +++ b/src/corelib/json/qjson_p.h @@ -122,6 +122,7 @@ QT_BEGIN_NAMESPACE Other measurements have shown a slightly bigger binary size than a compact text representation where all possible whitespace was stripped out. */ +#define Q_DECLARE_JSONPRIVATE_TYPEINFO(Class, Flags) } Q_DECLARE_TYPEINFO(QJsonPrivate::Class, Flags); namespace QJsonPrivate { namespace QJsonPrivate { class Array; @@ -619,6 +620,7 @@ public: static uint valueToStore(const QJsonValue &v, uint offset); static void copyData(const QJsonValue &v, char *dest, bool compressed); }; +Q_DECLARE_JSONPRIVATE_TYPEINFO(Value, Q_PRIMITIVE_TYPE) inline Value Array::at(int i) const { diff --git a/src/corelib/kernel/qmetaobject_p.h b/src/corelib/kernel/qmetaobject_p.h index 69f884f4ed..0790af2bb5 100644 --- a/src/corelib/kernel/qmetaobject_p.h +++ b/src/corelib/kernel/qmetaobject_p.h @@ -159,6 +159,7 @@ private: int _type; QByteArray _name; }; +Q_DECLARE_TYPEINFO(QArgumentType, Q_MOVABLE_TYPE); typedef QVarLengthArray<QArgumentType, 10> QArgumentTypeArray; diff --git a/src/corelib/tools/qharfbuzz_p.h b/src/corelib/tools/qharfbuzz_p.h index 3b69a2e4f6..cc4d9bbd85 100644 --- a/src/corelib/tools/qharfbuzz_p.h +++ b/src/corelib/tools/qharfbuzz_p.h @@ -348,6 +348,7 @@ Q_CORE_EXPORT HB_Face qHBLoadFace(HB_Face face); Q_DECLARE_TYPEINFO(HB_GlyphAttributes, Q_PRIMITIVE_TYPE); Q_DECLARE_TYPEINFO(HB_FixedPoint, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(HB_ScriptItem, Q_PRIMITIVE_TYPE); QT_END_NAMESPACE diff --git a/src/corelib/tools/qunicodetools_p.h b/src/corelib/tools/qunicodetools_p.h index 1103f28452..5cde188656 100644 --- a/src/corelib/tools/qunicodetools_p.h +++ b/src/corelib/tools/qunicodetools_p.h @@ -77,6 +77,10 @@ struct ScriptItem int script; }; +} // namespace QUnicodeTools +Q_DECLARE_TYPEINFO(QUnicodeTools::ScriptItem, Q_PRIMITIVE_TYPE); +namespace QUnicodeTools { + enum CharAttributeOption { GraphemeBreaks = 0x01, WordBreaks = 0x02, |