Revert "[SIC] Make non-const the QRegExp methods that modify the internals"
This reverts commit 75a0c7f9b5
. The
source-incompatible change proved to be more trouble than it's
worth. Too much intrusion into the porting effort of applications for
no appreciable gain, especially considering that we have a replacement
class.
Change-Id: Ia99a2360390a2062a8ddb6e12c8f2099287a2704
Discussed-on: http://lists.qt-project.org/pipermail/development/2012-May/003562.html
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
This commit is contained in:
parent
26f6a93ca5
commit
babd3e252b
7
dist/changes-5.0.0
vendored
7
dist/changes-5.0.0
vendored
@ -353,13 +353,6 @@ QtCore
|
||||
QRegularExpressionMatchIterator. They aim to replace QRegExp with a more
|
||||
powerful and flexible regular expression engine.
|
||||
|
||||
* Certain methods in QRegExp that modified the object's internals are no longer marked
|
||||
const. They were accidentally marked const in Qt 4 but the problem could not be
|
||||
fixed. The following are suggestions to adapt code to this change:
|
||||
- make sure the QRegExp object is not const in the given context
|
||||
- create a copy of the QRegExp object before using it
|
||||
- invert the operation and use QString. E.g., rx.indexIn(string) becomes string.indexOf(rx)
|
||||
|
||||
* QEvent::AccessibilityPrepare, AccessibilityHelp and AccessibilityDescription removed:
|
||||
* The enum values simply didn't make sense in the first place and should simply be dropped.
|
||||
|
||||
|
@ -4204,6 +4204,7 @@ void QRegExp::setMinimal(bool minimal)
|
||||
priv->minimal = minimal;
|
||||
}
|
||||
|
||||
// ### Qt 5: make non-const
|
||||
/*!
|
||||
Returns true if \a str is matched exactly by this regular
|
||||
expression; otherwise returns false. You can determine how much of
|
||||
@ -4219,9 +4220,12 @@ void QRegExp::setMinimal(bool minimal)
|
||||
bluebell, \c blutak and \c lightblue, exactMatch() returns false
|
||||
and matchedLength() will return 4, 3 and 0 respectively.
|
||||
|
||||
Although const, this function sets matchedLength(),
|
||||
capturedTexts(), and pos().
|
||||
|
||||
\sa indexIn(), lastIndexIn()
|
||||
*/
|
||||
bool QRegExp::exactMatch(const QString &str)
|
||||
bool QRegExp::exactMatch(const QString &str) const
|
||||
{
|
||||
prepareEngineForMatch(priv, str);
|
||||
priv->matchState.match(str.unicode(), str.length(), 0, priv->minimal, true, 0);
|
||||
@ -4234,6 +4238,7 @@ bool QRegExp::exactMatch(const QString &str)
|
||||
}
|
||||
}
|
||||
|
||||
// ### Qt 5: make non-const
|
||||
/*!
|
||||
Attempts to find a match in \a str from position \a offset (0 by
|
||||
default). If \a offset is -1, the search starts at the last
|
||||
@ -4252,6 +4257,9 @@ bool QRegExp::exactMatch(const QString &str)
|
||||
Example:
|
||||
\snippet code/src_corelib_tools_qregexp.cpp 13
|
||||
|
||||
Although const, this function sets matchedLength(),
|
||||
capturedTexts() and pos().
|
||||
|
||||
If the QRegExp is a wildcard expression (see setPatternSyntax())
|
||||
and want to test a string against the whole wildcard expression,
|
||||
use exactMatch() instead of this function.
|
||||
@ -4259,7 +4267,7 @@ bool QRegExp::exactMatch(const QString &str)
|
||||
\sa lastIndexIn(), exactMatch()
|
||||
*/
|
||||
|
||||
int QRegExp::indexIn(const QString &str, int offset, CaretMode caretMode)
|
||||
int QRegExp::indexIn(const QString &str, int offset, CaretMode caretMode) const
|
||||
{
|
||||
prepareEngineForMatch(priv, str);
|
||||
if (offset < 0)
|
||||
@ -4269,6 +4277,7 @@ int QRegExp::indexIn(const QString &str, int offset, CaretMode caretMode)
|
||||
return priv->matchState.captured[0];
|
||||
}
|
||||
|
||||
// ### Qt 5: make non-const
|
||||
/*!
|
||||
Attempts to find a match backwards in \a str from position \a
|
||||
offset. If \a offset is -1 (the default), the search starts at the
|
||||
@ -4280,13 +4289,16 @@ int QRegExp::indexIn(const QString &str, int offset, CaretMode caretMode)
|
||||
The \a caretMode parameter can be used to instruct whether \b{^}
|
||||
should match at index 0 or at \a offset.
|
||||
|
||||
Although const, this function sets matchedLength(),
|
||||
capturedTexts() and pos().
|
||||
|
||||
\warning Searching backwards is much slower than searching
|
||||
forwards.
|
||||
|
||||
\sa indexIn(), exactMatch()
|
||||
*/
|
||||
|
||||
int QRegExp::lastIndexIn(const QString &str, int offset, CaretMode caretMode)
|
||||
int QRegExp::lastIndexIn(const QString &str, int offset, CaretMode caretMode) const
|
||||
{
|
||||
prepareEngineForMatch(priv, str);
|
||||
if (offset < 0)
|
||||
|
@ -93,10 +93,10 @@ public:
|
||||
bool isMinimal() const;
|
||||
void setMinimal(bool minimal);
|
||||
|
||||
bool exactMatch(const QString &str);
|
||||
bool exactMatch(const QString &str) const;
|
||||
|
||||
int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero);
|
||||
int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero);
|
||||
int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero) const;
|
||||
int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero) const;
|
||||
int matchedLength() const;
|
||||
#ifndef QT_NO_REGEXP_CAPTURE
|
||||
int captureCount() const;
|
||||
|
Loading…
Reference in New Issue
Block a user