qdoc: don't hold ParsedParameter in a QList
ParsedParameter is larger than a void*, so holding it in QList is needlessly inefficient. Worse, the code could come to depend on the fragile property of (inefficient) QLists that references to elements therein never are invalidated. Fix by marking it movable, and holding in a QVector instead. Change-Id: I5b1bea9ef7b796a790d8e86404531ae19a4aca66 Reviewed-by: Martin Smith <martin.smith@digia.com>bb10
parent
32a5026f36
commit
58f0b6b5a8
|
|
@ -58,7 +58,8 @@ class CppCodeParser : public CodeParser
|
|||
QString defaultValue_;
|
||||
ParsedParameter() : qPrivateSignal_(false) { }
|
||||
};
|
||||
typedef QList<ParsedParameter> ParsedParameterList;
|
||||
friend class QTypeInfo<ParsedParameter>;
|
||||
typedef QVector<ParsedParameter> ParsedParameterList;
|
||||
|
||||
struct ExtraFuncData {
|
||||
Aggregate* root; // Used as the parent.
|
||||
|
|
@ -186,6 +187,7 @@ protected:
|
|||
QString exampleNameFilter;
|
||||
QString exampleImageFilter;
|
||||
};
|
||||
Q_DECLARE_TYPEINFO(CppCodeParser::ParsedParameter, Q_MOVABLE_TYPE);
|
||||
|
||||
#define COMMAND_ABSTRACT Doc::alias("abstract")
|
||||
#define COMMAND_CLASS Doc::alias("class")
|
||||
|
|
|
|||
Loading…
Reference in New Issue