summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qregularexpression.h
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2014-04-19 15:11:18 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-06 00:10:55 +0200
commit260f24228b663e27a5f307c994ea6bb38c3f1c38 (patch)
treef6b0d892426bc74d251cbf93ebcb2af69badb256 /src/corelib/tools/qregularexpression.h
parenteedd300b0ecf83a365f48c084e09f1446238e157 (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.h5
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;