QCollator Class
The QCollator class compares strings according to a localized collation algorithm. More...
Header: | #include <QCollator> |
qmake: | QT += core |
Since: | Qt 5.2 |
Note: All functions in this class are reentrant.
Public Functions
QCollator(const QLocale & locale = QLocale()) | |
QCollator(const QCollator & other) | |
QCollator(QCollator && other) | |
~QCollator() | |
Qt::CaseSensitivity | caseSensitivity() const |
int | compare(const QString & s1, const QString & s2) const |
int | compare(const QStringRef & s1, const QStringRef & s2) const |
int | compare(const QChar * s1, int len1, const QChar * s2, int len2) const |
bool | ignorePunctuation() const |
QLocale | locale() const |
bool | numericMode() const |
void | setCaseSensitivity(Qt::CaseSensitivity sensitivity) |
void | setIgnorePunctuation(bool on) |
void | setLocale(const QLocale & locale) |
void | setNumericMode(bool on) |
QCollatorSortKey | sortKey(const QString & string) const |
void | swap(QCollator & other) |
QCollator & | operator=(const QCollator & other) |
QCollator & | operator=(QCollator && other) |
Detailed Description
The QCollator class compares strings according to a localized collation algorithm.
QCollator is initialized with a QLocale and an optional collation strategy. It tries to initialize the collator with the specified values. The collator can then be used to compare and sort strings in a locale dependent fashion.
A QCollator object can be used together with template based sorting algorithms such as std::sort to sort a list of QStrings.
In addition to the locale and collation strategy, several optional flags can be set that influence the result of the collation.
Member Function Documentation
QCollator::QCollator(const QLocale & locale = QLocale())
Constructs a QCollator from locale. If locale is not specified the system's default locale is used.
See also setLocale().
QCollator::QCollator(const QCollator & other)
Creates a copy of other.
QCollator::QCollator(QCollator && other)
QCollator::~QCollator()
Destroys the collator.
Qt::CaseSensitivity QCollator::caseSensitivity() const
Returns case sensitivity of the collator.
See also setCaseSensitivity().
int QCollator::compare(const QString & s1, const QString & s2) const
Compares s1 with s2. Returns -1, 0 or 1 depending on whether s1 is smaller, equal or larger than s2.
int QCollator::compare(const QStringRef & s1, const QStringRef & s2) const
This is an overloaded function.
Compares s1 with s2. Returns -1, 0 or 1 depending on whether s1 is smaller, equal or larger than s2.
int QCollator::compare(const QChar * s1, int len1, const QChar * s2, int len2) const
This is an overloaded function.
Compares s1 with s2. len1 and len2 specify the length of the QChar arrays pointer to by s1 and s2.
Returns -1, 0 or 1 depending on whether s1 is smaller, equal or larger than s2.
bool QCollator::ignorePunctuation() const
Returns true
if punctuation characters and symbols are ignored when determining sort order.
See also setIgnorePunctuation().
QLocale QCollator::locale() const
Returns the locale of the collator.
See also setLocale().
bool QCollator::numericMode() const
Returns true
if numeric sorting is enabled, false otherwise.
See also setNumericMode().
void QCollator::setCaseSensitivity(Qt::CaseSensitivity sensitivity)
Sets the case sensitivity of the collator.
See also caseSensitivity().
void QCollator::setIgnorePunctuation(bool on)
If on is set to true, punctuation characters and symbols are ignored when determining sort order.
The default is locale dependent.
See also ignorePunctuation().
void QCollator::setLocale(const QLocale & locale)
Sets the locale of the collator to locale.
See also locale().
void QCollator::setNumericMode(bool on)
Enables numeric sorting mode when on is set to true.
This will enable proper sorting of numeric digits, so that e.g. 100 sorts after 99.
By default this mode is off.
Note: On Windows, this functionality makes use of the ICU library. If Qt was compiled without ICU support, it falls back to code using native Windows API, which only works from Windows 7 onwards. On older versions of Windows, it will not work and a warning will be emitted at runtime.
See also numericMode().
QCollatorSortKey QCollator::sortKey(const QString & string) const
Returns a sortKey for string.
Creating the sort key is usually somewhat slower, than using the compare() methods directly. But if the string is compared repeatedly (e.g. when sorting a whole list of strings), it's usually faster to create the sort keys for each string and then sort using the keys.
void QCollator::swap(QCollator & other)
Swaps this collator with other. This function is very fast and never fails.
QCollator & QCollator::operator=(const QCollator & other)
Assigns other to this collator.
QCollator & QCollator::operator=(QCollator && other)
© 2015 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.