diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2014-04-19 15:11:18 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-06 00:10:55 +0200 |
commit | 260f24228b663e27a5f307c994ea6bb38c3f1c38 (patch) | |
tree | f6b0d892426bc74d251cbf93ebcb2af69badb256 /src/corelib/tools/qregularexpression.h | |
parent | eedd300b0ecf83a365f48c084e09f1446238e157 (diff) |
QRegularExpression: add ways to force an immediate optimization
The fact that we kick in a pattern study and possibly a JIT compilation
after an undocumented number of usages is suboptimal, for a number
or reasons: users may want to JIT compile a pattern immediately,
and at the same time they may not want a random delay in the program
(due to the pattern getting optimized at a random usage).
So: add an optimize() call to force an immediate pattern optimization,
and a pattern option to force an optimization on the first usage.
Change-Id: I95efdecfd31f11ca7cceb9c05037df613601a11c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qregularexpression.h')
-rw-r--r-- | src/corelib/tools/qregularexpression.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/corelib/tools/qregularexpression.h b/src/corelib/tools/qregularexpression.h index 5059ea6431..6154ea7c51 100644 --- a/src/corelib/tools/qregularexpression.h +++ b/src/corelib/tools/qregularexpression.h @@ -69,7 +69,8 @@ public: ExtendedPatternSyntaxOption = 0x0008, InvertedGreedinessOption = 0x0010, DontCaptureOption = 0x0020, - UseUnicodePropertiesOption = 0x0040 + UseUnicodePropertiesOption = 0x0040, + OptimizeOnFirstUsageOption = 0x0080 }; Q_DECLARE_FLAGS(PatternOptions, PatternOption) @@ -122,6 +123,8 @@ public: MatchType matchType = NormalMatch, MatchOptions matchOptions = NoMatchOption) const; + void optimize(); + static QString escape(const QString &str); bool operator==(const QRegularExpression &re) const; |