![]() |
Qt 6.x
The Qt SDK
|
\inmodule QtCore More...
#include <qcollator.h>
Public Member Functions | |
QCollator () | |
QCollator (const QLocale &locale) | |
Constructs a QCollator using the given locale. | |
QCollator (const QCollator &) | |
Creates a copy of other. | |
~QCollator () | |
Destroys this collator. | |
QCollator & | operator= (const QCollator &) |
Assigns other to this collator. | |
QCollator (QCollator &&other) noexcept | |
Move constructor. | |
void | swap (QCollator &other) noexcept |
Swaps this collator with other. | |
void | setLocale (const QLocale &locale) |
Sets the locale of the collator to locale. | |
QLocale | locale () const |
Returns the locale of the collator. | |
Qt::CaseSensitivity | caseSensitivity () const |
Returns case sensitivity of the collator. | |
void | setCaseSensitivity (Qt::CaseSensitivity cs) |
Sets the case-sensitivity of the collator to cs. | |
void | setNumericMode (bool on) |
Enables numeric sorting mode when on is true . | |
bool | numericMode () const |
Returns true if numeric sorting is enabled, false otherwise. | |
void | setIgnorePunctuation (bool on) |
Ignores punctuation and symbols if on is true , attends to them if false . | |
bool | ignorePunctuation () const |
Returns whether punctuation and symbols are ignored when collating. | |
int | compare (const QString &s1, const QString &s2) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
int | compare (const QChar *s1, qsizetype len1, const QChar *s2, qsizetype len2) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
bool | operator() (const QString &s1, const QString &s2) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
int | compare (QStringView s1, QStringView s2) const |
bool | operator() (QStringView s1, QStringView s2) const |
QCollatorSortKey | sortKey (const QString &string) const |
Returns a sortKey for string. | |
Static Public Member Functions | |
static int | defaultCompare (QStringView s1, QStringView s2) |
static QCollatorSortKey | defaultSortKey (QStringView key) |
\inmodule QtCore
The QCollator class compares strings according to a localized collation algorithm.
\reentrant
QCollator is initialized with a QLocale. It can then be used to compare and sort strings by using the ordering appropriate for that locale.
A QCollator object can be used together with template-based sorting algorithms, such as std::sort(), to sort a list with QString entries.
In addition to the locale, several optional flags can be set that influence the result of the collation.
{setlocale(LC_COLLATE, nullptr)} would report) and the "C" locale. Definition at line 41 of file qcollator.h.
QCollator::QCollator | ( | ) |
Constructs a QCollator using the default locale's collation locale.
The system locale, when used as default locale, may have a collation locale other than itself (e.g. on Unix, if LC_COLLATE is set differently to LANG in the environment). All other locales are their own collation locales.
Definition at line 76 of file qcollator.cpp.
References d.
|
explicit |
Constructs a QCollator using the given locale.
Definition at line 87 of file qcollator.cpp.
QCollator::QCollator | ( | const QCollator & | other | ) |
Creates a copy of other.
Definition at line 95 of file qcollator.cpp.
References QCollatorPrivate::ensureInitialized(), QCollatorPrivate::ref, and QBasicAtomicInteger< T >::ref().
QCollator::~QCollator | ( | ) |
Destroys this collator.
Definition at line 108 of file qcollator.cpp.
References QBasicAtomicInteger< T >::deref(), and QCollatorPrivate::ref.
|
inlinenoexcept |
Move constructor.
Moves from other into this collator.
Note that a moved-from QCollator can only be destroyed or assigned to. The effect of calling other functions than the destructor or one of the assignment operators is undefined.
Definition at line 49 of file qcollator.h.
References other().
Qt::CaseSensitivity QCollator::caseSensitivity | ( | ) | const |
Returns case sensitivity of the collator.
This defaults to case-sensitive until set.
Definition at line 227 of file qcollator.cpp.
References QCollatorPrivate::caseSensitivity.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Compares s1 with s2. len1 and len2 specify the lengths of the QChar arrays pointed to by s1 and s2.
Returns an integer less than, equal to, or greater than zero depending on whether s1 sorts before, with or after s2.
{int}, not
{qsizetype}. Definition at line 74 of file qcollator.h.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 68 of file qcollator.h.
Referenced by QFileSystemModelSorter::compareNodes(), and QDirSortItemComparator::compareStrings().
int QCollator::compare | ( | QStringView | s1, |
QStringView | s2 | ||
) | const |
Compares s1 with s2.
Returns an integer less than, equal to, or greater than zero depending on whether s1 sorts before, with or after s2.
Definition at line 74 of file qcollator_icu.cpp.
References QCollatorPrivate::caseSensitivity, QCollatorPrivate::collator, QtPrivate::compareStrings(), QCollatorPrivate::ensureInitialized(), and s2.
|
static |
Compares the strings s1 and s2, returning their sorting order. This function performs the same operation as compare() on a default-constructed QCollator object.
Definition at line 344 of file qcollator.cpp.
References s2.
|
static |
Returns the sort key for the string key. This function performs the same operation as sortKey() on a default-constructed QCollator object.
Definition at line 357 of file qcollator.cpp.
bool QCollator::ignorePunctuation | ( | ) | const |
Returns whether punctuation and symbols are ignored when collating.
When true
, strings are compared as if all punctuation and symbols were removed from each string.
Definition at line 283 of file qcollator.cpp.
References QCollatorPrivate::ignorePunctuation.
QLocale QCollator::locale | ( | ) | const |
Returns the locale of the collator.
Unless supplied to the constructor or by calling setLocale(), the system's default collation locale is used.
Definition at line 196 of file qcollator.cpp.
References QCollatorPrivate::locale.
Referenced by setLocale().
bool QCollator::numericMode | ( | ) | const |
Returns true
if numeric sorting is enabled, false
otherwise.
When true
, numerals are recognized as numbers and sorted in arithmetic order; for example, 100 sortes after 99. When false
, numbers are sorted in lexical order, so that 100 sorts before 99 (because 1 is before 9). By default, this option is disabled.
Definition at line 256 of file qcollator.cpp.
References QCollatorPrivate::numericMode.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 77 of file qcollator.h.
|
inline |
Assigns other to this collator.
Move-assigns from other to this collator.
Note that a moved-from QCollator can only be destroyed or assigned to. The effect of calling other functions than the destructor or one of the assignment operators is undefined.
Definition at line 117 of file qcollator.cpp.
References QBasicAtomicInteger< T >::deref(), QCollatorPrivate::ensureInitialized(), other(), QCollatorPrivate::ref, and QBasicAtomicInteger< T >::ref().
void QCollator::setCaseSensitivity | ( | Qt::CaseSensitivity | cs | ) |
Sets the case-sensitivity of the collator to cs.
Definition at line 206 of file qcollator.cpp.
References QCollatorPrivate::caseSensitivity.
Referenced by QDirSortItemComparator::QDirSortItemComparator(), and QFileSystemModelSorter::QFileSystemModelSorter().
void QCollator::setIgnorePunctuation | ( | bool | on | ) |
Ignores punctuation and symbols if on is true
, attends to them if false
.
Definition at line 266 of file qcollator.cpp.
References QCollatorPrivate::ignorePunctuation.
Sets the locale of the collator to locale.
Definition at line 179 of file qcollator.cpp.
References locale(), and QCollatorPrivate::locale.
void QCollator::setNumericMode | ( | bool | on | ) |
Enables numeric sorting mode when on is true
.
Definition at line 237 of file qcollator.cpp.
References QCollatorPrivate::numericMode.
Referenced by QFileSystemModelSorter::QFileSystemModelSorter().
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.
Definition at line 93 of file qcollator_icu.cpp.
References QCollatorPrivate::collator, QCollatorPrivate::ensureInitialized(), QCollatorPrivate::isC(), and Qt::Uninitialized.
Swaps this collator with other.
This function is very fast and never fails.
Definition at line 53 of file qcollator.h.
References d, other(), and qt_ptr_swap().