aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/modelinglib/qmt/style/defaultstyleengine.cpp3
-rw-r--r--src/libs/utils/algorithm.h84
-rw-r--r--src/libs/utils/codegeneration.cpp5
-rw-r--r--src/libs/utils/id.cpp4
-rw-r--r--src/libs/utils/multitextcursor.cpp6
-rw-r--r--src/libs/utils/wizard.cpp5
-rw-r--r--src/plugins/android/androidconfigurations.cpp3
-rw-r--r--src/plugins/android/androidmanifesteditorwidget.cpp3
-rw-r--r--src/plugins/android/avdmanageroutputparser.cpp4
-rw-r--r--src/plugins/autotest/projectsettingswidget.cpp6
-rw-r--r--src/plugins/autotest/testcodeparser.cpp4
-rw-r--r--src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp14
-rw-r--r--src/plugins/clangtools/filterdialog.cpp5
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp4
-rw-r--r--src/plugins/cmakeprojectmanager/cmakekitinformation.cpp4
-rw-r--r--src/plugins/cmakeprojectmanager/cmaketool.cpp4
-rw-r--r--src/plugins/coreplugin/dialogs/codecselector.cpp7
-rw-r--r--src/plugins/coreplugin/editormanager/editormanager.cpp6
-rw-r--r--src/plugins/coreplugin/find/basetextfind.cpp3
-rw-r--r--src/plugins/coreplugin/find/findplugin.cpp6
-rw-r--r--src/plugins/coreplugin/generalsettings.cpp5
-rw-r--r--src/plugins/coreplugin/locator/locator.cpp4
-rw-r--r--src/plugins/coreplugin/mimetypesettings.cpp4
-rw-r--r--src/plugins/coreplugin/sidebarwidget.cpp5
-rw-r--r--src/plugins/cppeditor/cppparsecontext.cpp3
-rw-r--r--src/plugins/cppeditor/cpptypehierarchy.cpp4
-rw-r--r--src/plugins/cppeditor/includeutils.cpp8
-rw-r--r--src/plugins/cppeditor/typehierarchybuilder_test.cpp4
-rw-r--r--src/plugins/debugger/gdb/gdbengine.cpp5
-rw-r--r--src/plugins/git/stashdialog.cpp3
-rw-r--r--src/plugins/help/docsettingspage.cpp8
-rw-r--r--src/plugins/languageclient/languageclientoutline.cpp8
-rw-r--r--src/plugins/languageclient/semantichighlightsupport.cpp5
-rw-r--r--src/plugins/projectexplorer/kit.cpp3
-rw-r--r--src/plugins/projectexplorer/kitinformation.cpp6
-rw-r--r--src/plugins/projectexplorer/makestep.cpp4
-rw-r--r--src/plugins/projectexplorer/projectnodes.cpp3
-rw-r--r--src/plugins/projectexplorer/targetsetuppage.cpp4
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp7
-rw-r--r--src/plugins/qmakeprojectmanager/qmakestep.cpp7
-rw-r--r--src/plugins/qmljseditor/qmljseditor.cpp9
-rw-r--r--src/plugins/qnx/qnxdeviceprocesslist.cpp3
-rw-r--r--src/plugins/qnx/qnxtoolchain.cpp4
-rw-r--r--src/plugins/qtsupport/baseqtversion.cpp11
-rw-r--r--src/plugins/qtsupport/qtversionmanager.cpp7
-rw-r--r--src/plugins/remotelinux/linuxdevice.cpp6
-rw-r--r--src/plugins/squish/objectsmaptreeitem.cpp5
-rw-r--r--src/plugins/texteditor/codeassist/keywordscompletionassist.cpp6
-rw-r--r--src/plugins/texteditor/codecchooser.cpp3
-rw-r--r--src/plugins/texteditor/texteditor.cpp4
-rw-r--r--src/plugins/valgrind/suppressiondialog.cpp6
-rw-r--r--tests/auto/algorithm/tst_algorithm.cpp9
52 files changed, 190 insertions, 163 deletions
diff --git a/src/libs/modelinglib/qmt/style/defaultstyleengine.cpp b/src/libs/modelinglib/qmt/style/defaultstyleengine.cpp
index 49683cdc6c8..34753b1f750 100644
--- a/src/libs/modelinglib/qmt/style/defaultstyleengine.cpp
+++ b/src/libs/modelinglib/qmt/style/defaultstyleengine.cpp
@@ -296,8 +296,7 @@ const Style *DefaultStyleEngine::applyObjectStyle(const Style *baseStyle, const
}
int depth = 0;
if (!depths.isEmpty()) {
- QList<int> keys = depths.keys();
- Utils::sort(keys);
+ const QList<int> keys = Utils::sorted(depths.keys());
foreach (int d, keys) {
DepthProperties properties = depths.value(d);
if (properties.m_elementType == elementType
diff --git a/src/libs/utils/algorithm.h b/src/libs/utils/algorithm.h
index 713be758286..71fb2ad35d0 100644
--- a/src/libs/utils/algorithm.h
+++ b/src/libs/utils/algorithm.h
@@ -1005,6 +1005,48 @@ inline void sort(Container &container, Predicate p)
std::stable_sort(std::begin(container), std::end(container), p);
}
+template <typename Container>
+inline Container sorted(const Container &container)
+{
+ Container c = container;
+ sort(c);
+ return c;
+}
+
+template <typename Container>
+inline Container sorted(Container &&container)
+{
+ sort(container);
+ return container;
+}
+
+template <typename Container>
+inline Container sorted(const Container &&container)
+{
+ return sorted(container);
+}
+
+template <typename Container, typename Predicate>
+inline Container sorted(const Container &container, Predicate p)
+{
+ Container c = container;
+ sort(c, p);
+ return c;
+}
+
+template <typename Container, typename Predicate>
+inline Container sorted(Container &&container, Predicate p)
+{
+ sort(container, p);
+ return container;
+}
+
+template <typename Container, typename Predicate>
+inline Container sorted(const Container &&container, Predicate p)
+{
+ return sorted(container, p);
+}
+
// pointer to member
template <typename Container, typename R, typename S>
inline void sort(Container &container, R S::*member)
@@ -1017,6 +1059,27 @@ inline void sort(Container &container, R S::*member)
});
}
+template <typename Container, typename R, typename S>
+inline Container sorted(const Container &container, R S::*member)
+{
+ Container c = container;
+ sort(c, member);
+ return c;
+}
+
+template <typename Container, typename R, typename S>
+inline Container sorted(Container &&container, R S::*member)
+{
+ sort(container, member);
+ return container;
+}
+
+template <typename Container, typename R, typename S>
+inline Container sorted(const Container &&container, R S::*member)
+{
+ return sorted(container, member);
+}
+
// pointer to member function
template <typename Container, typename R, typename S>
inline void sort(Container &container, R (S::*function)() const)
@@ -1029,6 +1092,27 @@ inline void sort(Container &container, R (S::*function)() const)
});
}
+template <typename Container, typename R, typename S>
+inline Container sorted(const Container &container, R (S::*function)() const)
+{
+ Container c = container;
+ sort(c, function);
+ return c;
+}
+
+template <typename Container, typename R, typename S>
+inline Container sorted(Container &&container, R (S::*function)() const)
+{
+ sort(container, function);
+ return container;
+}
+
+template <typename Container, typename R, typename S>
+inline Container sorted(const Container &&container, R (S::*function)() const)
+{
+ return sorted(container, function);
+}
+
//////////////////
// reverseForeach
/////////////////
diff --git a/src/libs/utils/codegeneration.cpp b/src/libs/utils/codegeneration.cpp
index e1d7dd6dcf4..2055957751e 100644
--- a/src/libs/utils/codegeneration.cpp
+++ b/src/libs/utils/codegeneration.cpp
@@ -62,9 +62,8 @@ QTCREATOR_UTILS_EXPORT void writeBeginQtVersionCheck(QTextStream &str)
static void qtSection(const QStringList &qtIncludes, QTextStream &str)
{
- QStringList sorted = qtIncludes;
- sort(sorted);
- for (const QString &inc : std::as_const(sorted)) {
+ const QStringList sorted = Utils::sorted(qtIncludes);
+ for (const QString &inc : sorted) {
if (!inc.isEmpty())
str << QStringLiteral("#include <%1>\n").arg(inc);
}
diff --git a/src/libs/utils/id.cpp b/src/libs/utils/id.cpp
index 13f868686d8..2ee90212fbf 100644
--- a/src/libs/utils/id.cpp
+++ b/src/libs/utils/id.cpp
@@ -224,9 +224,7 @@ QSet<Id> Id::fromStringList(const QStringList &list)
QStringList Id::toStringList(const QSet<Id> &ids)
{
- QList<Id> idList = toList(ids);
- sort(idList);
- return transform(idList, &Id::toString);
+ return transform(sorted(toList(ids)), &Id::toString);
}
/*!
diff --git a/src/libs/utils/multitextcursor.cpp b/src/libs/utils/multitextcursor.cpp
index 264ee4747bb..47538581284 100644
--- a/src/libs/utils/multitextcursor.cpp
+++ b/src/libs/utils/multitextcursor.cpp
@@ -110,8 +110,7 @@ bool MultiTextCursor::hasSelection() const
QString MultiTextCursor::selectedText() const
{
QString text;
- QList<QTextCursor> cursors = m_cursors;
- Utils::sort(cursors);
+ const QList<QTextCursor> cursors = Utils::sorted(m_cursors);
for (const QTextCursor &cursor : cursors) {
const QString &cursorText = cursor.selectedText();
if (cursorText.isEmpty())
@@ -159,8 +158,7 @@ void MultiTextCursor::insertText(const QString &text, bool selectNewText)
lines.pop_back();
int index = 0;
if (lines.count() == m_cursors.count()) {
- QList<QTextCursor> cursors = m_cursors;
- Utils::sort(cursors);
+ QList<QTextCursor> cursors = Utils::sorted(m_cursors);
for (QTextCursor &cursor : cursors)
insertAndSelect(cursor, lines.at(index++), selectNewText);
m_cursors.last().endEditBlock();
diff --git a/src/libs/utils/wizard.cpp b/src/libs/utils/wizard.cpp
index c9362f17fef..dded70691b4 100644
--- a/src/libs/utils/wizard.cpp
+++ b/src/libs/utils/wizard.cpp
@@ -386,9 +386,8 @@ void Wizard::showVariables()
{
QString result = QLatin1String("<table>\n <tr><td>Key</td><td>Type</td><td>Value</td><td>Eval</td></tr>\n");
QHash<QString, QVariant> vars = variables();
- QList<QString> keys = vars.keys();
- sort(keys);
- for (const QString &key : std::as_const(keys)) {
+ const QList<QString> keys = sorted(vars.keys());
+ for (const QString &key : keys) {
const QVariant &v = vars.value(key);
result += QLatin1String(" <tr><td>")
+ key + QLatin1String("</td><td>")
diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp
index 72286ef819b..92953495b5e 100644
--- a/src/plugins/android/androidconfigurations.cpp
+++ b/src/plugins/android/androidconfigurations.cpp
@@ -395,8 +395,7 @@ static QList<int> availableNdkPlatformsImpl(const FilePath &ndkLocation, const A
if (result.isEmpty())
result = availableNdkPlatformsV21Plus(ndkLocation, abis, hostOs);
- Utils::sort(result, std::greater<>());
- return result;
+ return Utils::sorted(std::move(result), std::greater<>());
}
QList<int> AndroidConfig::availableNdkPlatforms(const QtVersion *qtVersion) const
diff --git a/src/plugins/android/androidmanifesteditorwidget.cpp b/src/plugins/android/androidmanifesteditorwidget.cpp
index f0d5ce61dcf..b4f26012e33 100644
--- a/src/plugins/android/androidmanifesteditorwidget.cpp
+++ b/src/plugins/android/androidmanifesteditorwidget.cpp
@@ -1553,8 +1553,7 @@ PermissionsModel::PermissionsModel(QObject *parent)
void PermissionsModel::setPermissions(const QStringList &permissions)
{
beginResetModel();
- m_permissions = permissions;
- Utils::sort(m_permissions);
+ m_permissions = Utils::sorted(permissions);
endResetModel();
}
diff --git a/src/plugins/android/avdmanageroutputparser.cpp b/src/plugins/android/avdmanageroutputparser.cpp
index dbe6d9faa05..325f4fa2301 100644
--- a/src/plugins/android/avdmanageroutputparser.cpp
+++ b/src/plugins/android/avdmanageroutputparser.cpp
@@ -127,9 +127,7 @@ AndroidDeviceInfoList parseAvdList(const QString &output, QStringList *avdErrorP
}
}
- Utils::sort(avdList);
-
- return avdList;
+ return Utils::sorted(std::move(avdList));
}
int platformNameToApiLevel(const QString &platformName)
diff --git a/src/plugins/autotest/projectsettingswidget.cpp b/src/plugins/autotest/projectsettingswidget.cpp
index 0d507105230..e85ac6977c0 100644
--- a/src/plugins/autotest/projectsettingswidget.cpp
+++ b/src/plugins/autotest/projectsettingswidget.cpp
@@ -100,8 +100,8 @@ ProjectTestSettingsWidget::ProjectTestSettingsWidget(ProjectExplorer::Project *p
void ProjectTestSettingsWidget::populateFrameworks(const QHash<ITestFramework *, bool> &frameworks,
const QHash<ITestTool *, bool> &testTools)
{
- TestFrameworks sortedFrameworks = frameworks.keys();
- Utils::sort(sortedFrameworks, &ITestFramework::priority);
+ const TestFrameworks sortedFrameworks = Utils::sorted(frameworks.keys(),
+ &ITestFramework::priority);
auto generateItem = [this](ITestBase *frameworkOrTestTool, bool checked) {
auto item = new QTreeWidgetItem(m_activeFrameworks, {frameworkOrTestTool->displayName()});
@@ -111,7 +111,7 @@ void ProjectTestSettingsWidget::populateFrameworks(const QHash<ITestFramework *,
item->setData(0, BaseTypeRole, frameworkOrTestTool->type());
};
- for (ITestFramework *framework : std::as_const(sortedFrameworks))
+ for (ITestFramework *framework : sortedFrameworks)
generateItem(framework, frameworks.value(framework));
// FIXME: testTools aren't sorted and we cannot use priority here
diff --git a/src/plugins/autotest/testcodeparser.cpp b/src/plugins/autotest/testcodeparser.cpp
index 27175552414..4a378fdb82f 100644
--- a/src/plugins/autotest/testcodeparser.cpp
+++ b/src/plugins/autotest/testcodeparser.cpp
@@ -135,8 +135,8 @@ void TestCodeParser::updateTestTree(const QSet<ITestParser *> &parsers)
m_postponedUpdateType = UpdateType::NoUpdate;
qCDebug(LOG) << "calling scanForTests (updateTestTree)";
- QList<ITestParser *> sortedParsers = Utils::toList(parsers);
- Utils::sort(sortedParsers, [](const ITestParser *lhs, const ITestParser *rhs) {
+ const QList<ITestParser *> sortedParsers = Utils::sorted(Utils::toList(parsers),
+ [](const ITestParser *lhs, const ITestParser *rhs) {
return lhs->framework()->priority() < rhs->framework()->priority();
});
scanForTests(Utils::FilePaths(), sortedParsers);
diff --git a/src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp b/src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp
index 2c697512961..3a2c45099bb 100644
--- a/src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp
+++ b/src/plugins/clangtools/clangtoolspreconfiguredsessiontests.cpp
@@ -110,10 +110,9 @@ void PreconfiguredSessionTests::testPreconfiguredSession()
static const QList<Project *> validProjects(const QList<Project *> projectsOfSession)
{
- QList<Project *> sortedProjects = projectsOfSession;
- Utils::sort(sortedProjects, [](Project *lhs, Project *rhs){
- return lhs->displayName() < rhs->displayName();
- });
+ const QList<Project *> sortedProjects = Utils::sorted(projectsOfSession,
+ [](Project *lhs, Project *rhs) { return lhs->displayName() < rhs->displayName(); }
+ );
const auto isValidProject = [](Project *project) {
const QList <Target *> targets = project->targets();
@@ -129,10 +128,9 @@ static const QList<Project *> validProjects(const QList<Project *> projectsOfSes
static QList<Target *> validTargets(Project *project)
{
- QList<Target *> sortedTargets = project->targets();
- Utils::sort(sortedTargets, [](Target *lhs, Target *rhs){
- return lhs->displayName() < rhs->displayName();
- });
+ const QList<Target *> sortedTargets = Utils::sorted(project->targets(),
+ [](Target *lhs, Target *rhs) { return lhs->displayName() < rhs->displayName(); }
+ );
const QString projectFileName = project->projectFilePath().fileName();
const auto isValidTarget = [projectFileName](Target *target) {
diff --git a/src/plugins/clangtools/filterdialog.cpp b/src/plugins/clangtools/filterdialog.cpp
index c302c86c8ba..b1225270d8e 100644
--- a/src/plugins/clangtools/filterdialog.cpp
+++ b/src/plugins/clangtools/filterdialog.cpp
@@ -50,14 +50,13 @@ class FilterChecksModel : public Utils::TreeModel<Utils::TreeItem, CheckItem>
public:
FilterChecksModel(const Checks &checks)
{
- Checks sortedChecks = checks;
- Utils::sort(sortedChecks, [](const Check &lhs, const Check &rhs) {
+ const Checks sortedChecks = Utils::sorted(checks, [](const Check &lhs, const Check &rhs) {
return lhs.displayName < rhs.displayName;
});
setHeader({tr("Check"), "#"});
setRootItem(new Utils::StaticTreeItem(QString()));
- for (const Check &check : std::as_const(sortedChecks))
+ for (const Check &check : sortedChecks)
m_root->appendChild(new CheckItem(check));
}
};
diff --git a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp
index f3865a81f6e..6e2bdc36748 100644
--- a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp
@@ -389,9 +389,7 @@ CMakeConfig CMakeConfig::fromFile(const Utils::FilePath &cacheFile, QString *err
}
}
- Utils::sort(result, &CMakeConfigItem::less);
-
- return result;
+ return Utils::sorted(std::move(result), &CMakeConfigItem::less);
}
QString CMakeConfigItem::toString(const Utils::MacroExpander *expander) const
diff --git a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp
index 32a00daf5b0..c450bc814bd 100644
--- a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp
@@ -433,8 +433,8 @@ private:
cmakeLabel->setText(m_currentTool->cmakeExecutable().toUserOutput());
- QList<CMakeTool::Generator> generatorList = m_currentTool->supportedGenerators();
- Utils::sort(generatorList, &CMakeTool::Generator::name);
+ const QList<CMakeTool::Generator> generatorList = Utils::sorted(
+ m_currentTool->supportedGenerators(), &CMakeTool::Generator::name);
for (auto it = generatorList.constBegin(); it != generatorList.constEnd(); ++it)
generatorCombo->addItem(it->name);
diff --git a/src/plugins/cmakeprojectmanager/cmaketool.cpp b/src/plugins/cmakeprojectmanager/cmaketool.cpp
index 4cef534ff1d..58976e00980 100644
--- a/src/plugins/cmakeprojectmanager/cmaketool.cpp
+++ b/src/plugins/cmakeprojectmanager/cmaketool.cpp
@@ -459,8 +459,8 @@ void CMakeTool::parseFunctionDetailsOutput(const QString &output)
if (!words.isEmpty()) {
const QString command = words.takeFirst();
if (functionSet.contains(command)) {
- QStringList tmp = words + m_introspection->m_functionArgs[command];
- Utils::sort(tmp);
+ const QStringList tmp = Utils::sorted(
+ words + m_introspection->m_functionArgs[command]);
m_introspection->m_functionArgs[command] = Utils::filteredUnique(tmp);
}
}
diff --git a/src/plugins/coreplugin/dialogs/codecselector.cpp b/src/plugins/coreplugin/dialogs/codecselector.cpp
index 6cdade2d0b4..ae46a4859ba 100644
--- a/src/plugins/coreplugin/dialogs/codecselector.cpp
+++ b/src/plugins/coreplugin/dialogs/codecselector.cpp
@@ -52,13 +52,12 @@ CodecSelector::CodecSelector(QWidget *parent, Core::BaseTextDocument *doc)
QStringList encodings;
- QList<int> mibs = QTextCodec::availableMibs();
- Utils::sort(mibs);
+ const QList<int> mibs = Utils::sorted(QTextCodec::availableMibs());
QList<int> sortedMibs;
- for (const int mib : std::as_const(mibs))
+ for (const int mib : mibs)
if (mib >= 0)
sortedMibs += mib;
- for (const int mib : std::as_const(mibs))
+ for (const int mib : mibs)
if (mib < 0)
sortedMibs += mib;
diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index c0044573f50..c2988de4aab 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -1709,8 +1709,8 @@ bool EditorManagerPrivate::closeEditors(const QList<IEditor*> &editors, CloseFla
// When handling the last view in the list we handle the case where all
// visible editors are closed, and we need to e.g. revive an invisible or
// a suspended editor
- QList<EditorView *> views = editorsPerView.keys();
- Utils::sort(views, [editorsPerView, currentView](EditorView *a, EditorView *b) {
+ const QList<EditorView *> views = Utils::sorted(editorsPerView.keys(),
+ [editorsPerView, currentView](EditorView *a, EditorView *b) {
if (a == b)
return false;
const bool aHasCurrent = editorsPerView.values(a).contains(a->currentEditor());
@@ -1723,7 +1723,7 @@ bool EditorManagerPrivate::closeEditors(const QList<IEditor*> &editors, CloseFla
return true;
return false;
});
- for (EditorView *view : std::as_const(views)) {
+ for (EditorView *view : views) {
QList<IEditor *> editors = editorsPerView.values(view);
// handle current editor in view last
IEditor *viewCurrentEditor = view->currentEditor();
diff --git a/src/plugins/coreplugin/find/basetextfind.cpp b/src/plugins/coreplugin/find/basetextfind.cpp
index 63c6bad8534..7bafb3d9746 100644
--- a/src/plugins/coreplugin/find/basetextfind.cpp
+++ b/src/plugins/coreplugin/find/basetextfind.cpp
@@ -438,8 +438,7 @@ void BaseTextFind::defineFindScope()
for (const QTextCursor &c : multiCursor) {
if (c.hasSelection()) {
if (foundSelection || c.block() != c.document()->findBlock(c.anchor())) {
- QList<QTextCursor> sortedCursors = multiCursor.cursors();
- Utils::sort(sortedCursors);
+ const QList<QTextCursor> sortedCursors = Utils::sorted(multiCursor.cursors());
d->m_scope = Utils::MultiTextCursor(sortedCursors);
QTextCursor cursor = textCursor();
cursor.clearSelection();
diff --git a/src/plugins/coreplugin/find/findplugin.cpp b/src/plugins/coreplugin/find/findplugin.cpp
index 6c3d03294a2..2e38e0c3a33 100644
--- a/src/plugins/coreplugin/find/findplugin.cpp
+++ b/src/plugins/coreplugin/find/findplugin.cpp
@@ -299,9 +299,9 @@ void FindPrivate::setupFilterMenuItems()
ActionContainer *mfindadvanced = ActionManager::actionContainer(Constants::M_FIND_ADVANCED);
bool haveEnabledFilters = false;
const Id base("FindFilter.");
- QList<IFindFilter *> sortedFilters = IFindFilter::allFindFilters();
- Utils::sort(sortedFilters, &IFindFilter::displayName);
- for (IFindFilter *filter : std::as_const(sortedFilters)) {
+ const QList<IFindFilter *> sortedFilters = Utils::sorted(IFindFilter::allFindFilters(),
+ &IFindFilter::displayName);
+ for (IFindFilter *filter : sortedFilters) {
QAction *action = new QAction(filterActionName(filter), this);
bool isEnabled = filter->isEnabled();
if (isEnabled)
diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp
index 81aa475ab98..10cae51dd97 100644
--- a/src/plugins/coreplugin/generalsettings.cpp
+++ b/src/plugins/coreplugin/generalsettings.cpp
@@ -244,9 +244,8 @@ void GeneralSettingsWidget::fillCodecBox() const
{
const QByteArray currentCodec = codecForLocale();
- QByteArrayList codecs = QTextCodec::availableCodecs();
- Utils::sort(codecs);
- for (const QByteArray &codec : std::as_const(codecs)) {
+ const QByteArrayList codecs = Utils::sorted(QTextCodec::availableCodecs());
+ for (const QByteArray &codec : codecs) {
m_codecBox->addItem(QString::fromLocal8Bit(codec));
if (codec == currentCodec)
m_codecBox->setCurrentIndex(m_codecBox->count() - 1);
diff --git a/src/plugins/coreplugin/locator/locator.cpp b/src/plugins/coreplugin/locator/locator.cpp
index 704a76d8b30..dbfd5f630b2 100644
--- a/src/plugins/coreplugin/locator/locator.cpp
+++ b/src/plugins/coreplugin/locator/locator.cpp
@@ -126,8 +126,8 @@ void Locator::initialize()
void Locator::extensionsInitialized()
{
- m_filters = ILocatorFilter::allLocatorFilters();
- Utils::sort(m_filters, [](const ILocatorFilter *first, const ILocatorFilter *second) -> bool {
+ m_filters = Utils::sorted(ILocatorFilter::allLocatorFilters(),
+ [](const ILocatorFilter *first, const ILocatorFilter *second) -> bool {
if (first->priority() != second->priority())
return first->priority() < second->priority();
return first->id().alphabeticallyBefore(second->id());
diff --git a/src/plugins/coreplugin/mimetypesettings.cpp b/src/plugins/coreplugin/mimetypesettings.cpp
index 8f6b4a578fe..21443aeaf78 100644
--- a/src/plugins/coreplugin/mimetypesettings.cpp
+++ b/src/plugins/coreplugin/mimetypesettings.cpp
@@ -196,9 +196,9 @@ Qt::ItemFlags MimeTypeSettingsModel::flags(const QModelIndex &index) const
void MimeTypeSettingsModel::load()
{
beginResetModel();
- m_mimeTypes = Utils::allMimeTypes();
m_userDefault = Core::Internal::userPreferredEditorTypes();
- Utils::sort(m_mimeTypes, [](const Utils::MimeType &a, const Utils::MimeType &b) {
+ m_mimeTypes = Utils::sorted(Utils::allMimeTypes(),
+ [](const Utils::MimeType &a, const Utils::MimeType &b) {
return a.name().compare(b.name(), Qt::CaseInsensitive) < 0;
});
m_handlersByMimeType.clear();
diff --git a/src/plugins/coreplugin/sidebarwidget.cpp b/src/plugins/coreplugin/sidebarwidget.cpp
index 35c183001c4..fc9d04baa34 100644
--- a/src/plugins/coreplugin/sidebarwidget.cpp
+++ b/src/plugins/coreplugin/sidebarwidget.cpp
@@ -64,11 +64,10 @@ SideBarWidget::SideBarWidget(SideBar *sideBar, const QString &id)
setLayout(lay);
lay->addWidget(m_toolbar);
- QStringList titleList = m_sideBar->availableItemTitles();
- Utils::sort(titleList);
+ const QStringList titleList = Utils::sorted(m_sideBar->availableItemTitles());
QString t = id;
if (!titleList.isEmpty()) {
- for (const QString &itemTitle : std::as_const(titleList))
+ for (const QString &itemTitle : titleList)
m_comboBox->addItem(itemTitle, m_sideBar->idForTitle(itemTitle));
m_comboBox->setCurrentIndex(0);
diff --git a/src/plugins/cppeditor/cppparsecontext.cpp b/src/plugins/cppeditor/cppparsecontext.cpp
index 98a1abaffdf..ae8a4a4287c 100644
--- a/src/plugins/cppeditor/cppparsecontext.cpp
+++ b/src/plugins/cppeditor/cppparsecontext.cpp
@@ -60,8 +60,7 @@ void ParseContextModel::reset(const ProjectPartInfo &projectPartInfo)
{
// Sort
m_hints = projectPartInfo.hints;
- m_projectParts = projectPartInfo.projectParts;
- Utils::sort(m_projectParts, &ProjectPart::displayName);
+ m_projectParts = Utils::sorted(projectPartInfo.projectParts, &ProjectPart::displayName);
// Determine index for current
const QString id = projectPartInfo.projectPart->id();
diff --git a/src/plugins/cppeditor/cpptypehierarchy.cpp b/src/plugins/cppeditor/cpptypehierarchy.cpp
index efb956a132d..1720161a1b6 100644
--- a/src/plugins/cppeditor/cpptypehierarchy.cpp
+++ b/src/plugins/cppeditor/cpptypehierarchy.cpp
@@ -53,13 +53,11 @@ QStandardItem *itemForClass(const CppClass &cppClass)
QList<CppClass> sortClasses(const QList<CppClass> &cppClasses)
{
- QList<CppClass> sorted = cppClasses;
- sort(sorted, [](const CppClass &c1, const CppClass &c2) -> bool {
+ return sorted(cppClasses, [](const CppClass &c1, const CppClass &c2) -> bool {
const QString key1 = c1.name + QLatin1String("::") + c1.qualifiedName;
const QString key2 = c2.name + QLatin1String("::") + c2.qualifiedName;
return key1 < key2;
});
- return sorted;
}
} // Anonymous
diff --git a/src/plugins/cppeditor/includeutils.cpp b/src/plugins/cppeditor/includeutils.cpp
index 5afb9958f81..cf855f154f8 100644
--- a/src/plugins/cppeditor/includeutils.cpp
+++ b/src/plugins/cppeditor/includeutils.cpp
@@ -111,13 +111,13 @@ LineForNewIncludeDirective::LineForNewIncludeDirective(const QTextDocument *text
, m_cppDocument(cppDocument)
, m_includeStyle(includeStyle)
{
- QList<Document::Include> includes
- = cppDocument->resolvedIncludes() + cppDocument->unresolvedIncludes();
- Utils::sort(includes, &Include::line);
+ const QList<Document::Include> includes = Utils::sorted(
+ cppDocument->resolvedIncludes() + cppDocument->unresolvedIncludes(),
+ &Include::line);
// Ignore *.moc includes if requested
if (mocIncludeMode == IgnoreMocIncludes) {
- for (const Document::Include &include : std::as_const(includes)) {
+ for (const Document::Include &include : includes) {
if (!include.unresolvedFileName().endsWith(QLatin1String(".moc")))
m_includes << include;
}
diff --git a/src/plugins/cppeditor/typehierarchybuilder_test.cpp b/src/plugins/cppeditor/typehierarchybuilder_test.cpp
index 5a1a5a1028d..c1509df12f6 100644
--- a/src/plugins/cppeditor/typehierarchybuilder_test.cpp
+++ b/src/plugins/cppeditor/typehierarchybuilder_test.cpp
@@ -29,9 +29,9 @@ QString toString(const TypeHierarchy &hierarchy, int indent = 0)
QString result = QString(indent, QLatin1Char(' '))
+ Overview().prettyName(symbol->name()) + QLatin1Char('\n');
- QList<TypeHierarchy> sortedHierarchy = hierarchy.hierarchy();
Overview oo;
- Utils::sort(sortedHierarchy, [&oo](const TypeHierarchy &h1, const TypeHierarchy &h2) -> bool {
+ const QList<TypeHierarchy> sortedHierarchy = Utils::sorted(hierarchy.hierarchy(),
+ [&oo](const TypeHierarchy &h1, const TypeHierarchy &h2) -> bool {
return oo.prettyName(h1.symbol()->name()) < oo.prettyName(h2.symbol()->name());
});
for (const TypeHierarchy &childHierarchy : std::as_const(sortedHierarchy))
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 71268283d1e..0561ca1e211 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -794,10 +794,9 @@ int GdbEngine::commandTimeoutTime() const
void GdbEngine::commandTimeout()
{
- QList<int> keys = m_commandForToken.keys();
- Utils::sort(keys);
+ const QList<int> keys = Utils::sorted(m_commandForToken.keys());
bool killIt = false;
- for (int key : std::as_const(keys)) {
+ for (int key : keys) {
const DebuggerCommand &cmd = m_commandForToken.value(key);
killIt = true;
showMessage(QString::number(key) + ": " + cmd.function);
diff --git a/src/plugins/git/stashdialog.cpp b/src/plugins/git/stashdialog.cpp
index 12692b01b0d..7af3dfb67b3 100644
--- a/src/plugins/git/stashdialog.cpp
+++ b/src/plugins/git/stashdialog.cpp
@@ -372,8 +372,7 @@ QList<int> StashDialog::selectedRows() const
if (index.isValid())
rc.push_back(index.row());
}
- Utils::sort(rc);
- return rc;
+ return Utils::sorted(std::move(rc));
}
void StashDialog::forceRefresh()
diff --git a/src/plugins/help/docsettingspage.cpp b/src/plugins/help/docsettingspage.cpp
index 9cb3289081f..fa8b7a506f9 100644
--- a/src/plugins/help/docsettingspage.cpp
+++ b/src/plugins/help/docsettingspage.cpp
@@ -326,11 +326,9 @@ void DocSettingsPageWidget::removeDocumentation(const QList<QModelIndex> &items)
if (items.isEmpty())
return;
- QList<QModelIndex> itemsByDecreasingRow = items;
- Utils::sort(itemsByDecreasingRow, [](const QModelIndex &i1, const QModelIndex &i2) {
- return i1.row() > i2.row();
- });
- for (const QModelIndex &item : std::as_const(itemsByDecreasingRow)) {
+ const QList<QModelIndex> itemsByDecreasingRow = Utils::sorted(items,
+ [](const QModelIndex &i1, const QModelIndex &i2) { return i1.row() > i2.row(); });
+ for (const QModelIndex &item : itemsByDecreasingRow) {
const int row = item.row();
const QString nameSpace = m_model.entryAt(row).nameSpace;
diff --git a/src/plugins/languageclient/languageclientoutline.cpp b/src/plugins/languageclient/languageclientoutline.cpp
index 9c71c3e6bb0..0387ebdd21a 100644
--- a/src/plugins/languageclient/languageclientoutline.cpp
+++ b/src/plugins/languageclient/languageclientoutline.cpp
@@ -30,19 +30,15 @@ namespace LanguageClient {
const QList<SymbolInformation> sortedSymbols(const QList<SymbolInformation> &symbols)
{
- auto result = symbols;
- Utils::sort(result, [](const SymbolInformation &a, const SymbolInformation &b){
+ return Utils::sorted(symbols, [](const SymbolInformation &a, const SymbolInformation &b){
return a.location().range().start() < b.location().range().start();
});
- return result;
}
const QList<DocumentSymbol> sortedSymbols(const QList<DocumentSymbol> &symbols)
{
- auto result = symbols;
- Utils::sort(result, [](const DocumentSymbol &a, const DocumentSymbol &b){
+ return Utils::sorted(symbols, [](const DocumentSymbol &a, const DocumentSymbol &b){
return a.range().start() < b.range().start();
});
- return result;
}
class LanguageClientOutlineItem : public Utils::TypedTreeItem<LanguageClientOutlineItem>
diff --git a/src/plugins/languageclient/semantichighlightsupport.cpp b/src/plugins/languageclient/semantichighlightsupport.cpp
index d51d62ad1fa..bf54ee91e0e 100644
--- a/src/plugins/languageclient/semantichighlightsupport.cpp
+++ b/src/plugins/languageclient/semantichighlightsupport.cpp
@@ -352,14 +352,13 @@ void SemanticTokenSupport::handleSemanticTokensDelta(
qCDebug(LOGLSPHIGHLIGHT) << "New Data " << tokens->data();
} else if (auto tokensDelta = std::get_if<SemanticTokensDelta>(&result)) {
m_tokens[filePath].version = documentVersion;
- QList<SemanticTokensEdit> edits = tokensDelta->edits();
+ const QList<SemanticTokensEdit> edits = Utils::sorted(tokensDelta->edits(),
+ &SemanticTokensEdit::start);
if (edits.isEmpty()) {
highlight(filePath);
return;
}
- Utils::sort(edits, &SemanticTokensEdit::start);
-
SemanticTokens &tokens = m_tokens[filePath].tokens;
const QList<int> &data = tokens.data();
diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp
index 1bbe25c7e8e..433c1d911e8 100644
--- a/src/plugins/projectexplorer/kit.cpp
+++ b/src/plugins/projectexplorer/kit.cpp
@@ -256,9 +256,8 @@ Tasks Kit::validate() const
d->m_hasError = containsType(result, Task::TaskType::Error);
d->m_hasWarning = containsType(result, Task::TaskType::Warning);
- Utils::sort(result);
d->m_hasValidityInfo = true;
- return result;
+ return Utils::sorted(std::move(result));
}
void Kit::fix()
diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp
index 0265d6376d0..1e93e5a9eb2 100644
--- a/src/plugins/projectexplorer/kitinformation.cpp
+++ b/src/plugins/projectexplorer/kitinformation.cpp
@@ -200,8 +200,7 @@ public:
layout->setContentsMargins(0, 0, 0, 0);
layout->setColumnStretch(1, 2);
- QList<Id> languageList = ToolChainManager::allLanguages();
- sort(languageList, [](Id l1, Id l2) {
+ const QList<Id> languageList = sorted(ToolChainManager::allLanguages(), [](Id l1, Id l2) {
return ToolChainManager::displayNameOfLanguageId(l1)
< ToolChainManager::displayNameOfLanguageId(l2);
});
@@ -1449,9 +1448,8 @@ private:
}
}
- sort(changes, [](const EnvironmentItem &lhs, const EnvironmentItem &rhs)
+ return sorted(std::move(changes), [](const EnvironmentItem &lhs, const EnvironmentItem &rhs)
{ return QString::localeAwareCompare(lhs.name, rhs.name) < 0; });
- return changes;
}
void initMSVCOutputSwitch(QVBoxLayout *layout)
diff --git a/src/plugins/projectexplorer/makestep.cpp b/src/plugins/projectexplorer/makestep.cpp
index 0d918967a43..1fbf1c21255 100644
--- a/src/plugins/projectexplorer/makestep.cpp
+++ b/src/plugins/projectexplorer/makestep.cpp
@@ -144,9 +144,8 @@ QString MakeStep::defaultDisplayName()
static const QList<ToolChain *> preferredToolChains(const Kit *kit)
{
- QList<ToolChain *> tcs = ToolChainKitAspect::toolChains(kit);
// prefer CXX, then C, then others
- Utils::sort(tcs, [](ToolChain *tcA, ToolChain *tcB) {
+ return Utils::sorted(ToolChainKitAspect::toolChains(kit), [](ToolChain *tcA, ToolChain *tcB) {
if (tcA->language() == tcB->language())
return false;
if (tcA->language() == Constants::CXX_LANGUAGE_ID)
@@ -157,7 +156,6 @@ static const QList<ToolChain *> preferredToolChains(const Kit *kit)
return true;
return false;
});
- return tcs;
}
FilePath MakeStep::defaultMakeCommand() const
diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp
index 1b7c0546fe7..a0e24f80ae1 100644
--- a/src/plugins/projectexplorer/projectnodes.cpp
+++ b/src/plugins/projectexplorer/projectnodes.cpp
@@ -723,8 +723,7 @@ void FolderNode::setIcon(const IconCreator &iconCreator)
void FolderNode::setLocationInfo(const QVector<FolderNode::LocationInfo> &info)
{
- m_locations = info;
- Utils::sort(m_locations, &LocationInfo::priority);
+ m_locations = Utils::sorted(info, &LocationInfo::priority);
}
const QVector<FolderNode::LocationInfo> FolderNode::locationInfo() const
diff --git a/src/plugins/projectexplorer/targetsetuppage.cpp b/src/plugins/projectexplorer/targetsetuppage.cpp
index 9439d5cc730..368e76d4184 100644
--- a/src/plugins/projectexplorer/targetsetuppage.cpp
+++ b/src/plugins/projectexplorer/targetsetuppage.cpp
@@ -463,11 +463,9 @@ bool TargetSetupPage::compareKits(const Kit *k1, const Kit *k2)
std::vector<TargetSetupWidget *> TargetSetupPage::sortedWidgetList() const
{
- std::vector<TargetSetupWidget *> list = m_widgets;
- sort(list, [](const TargetSetupWidget *w1, const TargetSetupWidget *w2) {
+ return sorted(m_widgets, [](const TargetSetupWidget *w1, const TargetSetupWidget *w2) {
return compareKits(w1->kit(), w2->kit());
});
- return list;
}
void TargetSetupPage::openOptions()
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
index 899ed4e4a4f..789ec24273f 100644
--- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
@@ -271,12 +271,11 @@ void QmakeBuildConfiguration::updateProblemLabel()
allGood = false;
if (allGood) {
- Tasks issues = version->reportIssues(proFileName, buildDirectory().toString());
- Utils::sort(issues);
-
+ const Tasks issues = Utils::sorted(
+ version->reportIssues(proFileName, buildDirectory().toString()));
if (!issues.isEmpty()) {
QString text = QLatin1String("<nobr>");
- for (const ProjectExplorer::Task &task : std::as_const(issues)) {
+ for (const ProjectExplorer::Task &task : issues) {
QString type;
switch (task.type) {
case ProjectExplorer::Task::Error:
diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp
index f29e0abb64b..56ebeb768ee 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp
@@ -243,12 +243,11 @@ bool QMakeStep::init()
QTC_ASSERT(node, return false);
QString proFile = node->filePath().toString();
- Tasks tasks = qtVersion->reportIssues(proFile, workingDirectory.toString());
- Utils::sort(tasks);
-
+ const Tasks tasks = Utils::sorted(
+ qtVersion->reportIssues(proFile, workingDirectory.toString()));
if (!tasks.isEmpty()) {
bool canContinue = true;
- for (const Task &t : std::as_const(tasks)) {
+ for (const Task &t : tasks) {
emit addTask(t);
if (t.type == Task::Error)
canContinue = false;
diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp
index aa5494aa3da..2bf1d5205a7 100644
--- a/src/plugins/qmljseditor/qmljseditor.cpp
+++ b/src/plugins/qmljseditor/qmljseditor.cpp
@@ -351,13 +351,14 @@ void QmlJSEditorWidget::updateUses()
return;
QList<QTextEdit::ExtraSelection> selections;
- QList<SourceLocation> locations
- = m_qmlJsEditorDocument->semanticInfo().idLocations.value(wordUnderCursor());
+
// code model may present the locations not in a document order
- Utils::sort(locations, [](const SourceLocation &lhs, const SourceLocation &rhs) {
+ const QList<SourceLocation> locations = Utils::sorted(
+ m_qmlJsEditorDocument->semanticInfo().idLocations.value(wordUnderCursor()),
+ [](const SourceLocation &lhs, const SourceLocation &rhs) {
return lhs.begin() < rhs.begin();
});
- for (const SourceLocation &loc : std::as_const(locations)) {
+ for (const SourceLocation &loc : locations) {
if (! loc.isValid())
continue;
diff --git a/src/plugins/qnx/qnxdeviceprocesslist.cpp b/src/plugins/qnx/qnxdeviceprocesslist.cpp
index ac2971334bf..f2a906723ba 100644
--- a/src/plugins/qnx/qnxdeviceprocesslist.cpp
+++ b/src/plugins/qnx/qnxdeviceprocesslist.cpp
@@ -53,8 +53,7 @@ QList<ProcessInfo> QnxDeviceProcessList::buildProcessList(const QString &listPro
}
}
- Utils::sort(processes);
- return processes;
+ return Utils::sorted(std::move(processes));
}
} // Qnx::Internal
diff --git a/src/plugins/qnx/qnxtoolchain.cpp b/src/plugins/qnx/qnxtoolchain.cpp
index 8c4ba9c600b..e9829707db4 100644
--- a/src/plugins/qnx/qnxtoolchain.cpp
+++ b/src/plugins/qnx/qnxtoolchain.cpp
@@ -67,10 +67,8 @@ static Abis detectTargetAbis(const FilePath &sdpPath)
result.append(target.m_abi);
}
- Utils::sort(result,
+ return Utils::sorted(std::move(result),
[](const Abi &arg1, const Abi &arg2) { return arg1.toString() < arg2.toString(); });
-
- return result;
}
static void setQnxEnvironment(Environment &env, const EnvironmentItems &qnxEnv)
diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp
index 3f55802ed44..c13c257b5be 100644
--- a/src/plugins/qtsupport/baseqtversion.cpp
+++ b/src/plugins/qtsupport/baseqtversion.cpp
@@ -874,8 +874,7 @@ QString QtVersion::toHtml(bool verbose) const
if (verbose) {
const QHash<ProKey, ProString> vInfo = d->versionInfo();
if (!vInfo.isEmpty()) {
- QList<ProKey> keys = vInfo.keys();
- Utils::sort(keys);
+ const QList<ProKey> keys = Utils::sorted(vInfo.keys());
foreach (const ProKey &key, keys) {
const QString &value = vInfo.value(key).toQString();
QString variableName = key.toQString();
@@ -1685,9 +1684,7 @@ bool QtVersion::supportsMultipleQtAbis() const
Tasks QtVersion::reportIssues(const QString &proFile, const QString &buildDir) const
{
- Tasks results = reportIssuesImpl(proFile, buildDir);
- Utils::sort(results);
- return results;
+ return Utils::sorted(reportIssuesImpl(proFile, buildDir));
}
QtConfigWidget *QtVersion::createConfigurationWidget() const
@@ -2274,8 +2271,8 @@ QtVersion *QtVersionFactory::createQtVersionFromQMakePath
ProFileEvaluator evaluator(&globals, &parser, &vfs, &msgHandler);
evaluator.loadNamedSpec(mkspec.path(), false);
- QList<QtVersionFactory *> factories = g_qtVersionFactories;
- Utils::sort(factories, [](const QtVersionFactory *l, const QtVersionFactory *r) {
+ const QList<QtVersionFactory *> factories = Utils::sorted(g_qtVersionFactories,
+ [](const QtVersionFactory *l, const QtVersionFactory *r) {
return l->m_priority > r->m_priority;
});
diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp
index c00b5a846c2..117adebad9a 100644
--- a/src/plugins/qtsupport/qtversionmanager.cpp
+++ b/src/plugins/qtsupport/qtversionmanager.cpp
@@ -537,9 +537,7 @@ QtVersions QtVersionManager::versions(const QtVersion::Predicate &predicate)
QtVersions QtVersionManager::sortVersions(const QtVersions &input)
{
- QtVersions result = input;
- Utils::sort(result, qtVersionNumberCompare);
- return result;
+ return Utils::sorted(input, qtVersionNumberCompare);
}
QtVersion *QtVersionManager::version(int id)
@@ -566,8 +564,7 @@ void QtVersionManager::setNewQtVersions(const QtVersions &newVersions)
{
// We want to preserve the same order as in the settings dialog
// so we sort a copy
- QtVersions sortedNewVersions = newVersions;
- Utils::sort(sortedNewVersions, &QtVersion::uniqueId);
+ const QtVersions sortedNewVersions = Utils::sorted(newVersions, &QtVersion::uniqueId);
QtVersions addedVersions;
QtVersions removedVersions;
diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp
index 6dc9247fbf0..5b81784f7ae 100644
--- a/src/plugins/remotelinux/linuxdevice.cpp
+++ b/src/plugins/remotelinux/linuxdevice.cpp
@@ -340,8 +340,7 @@ private:
processes.append(process);
}
- Utils::sort(processes);
- return processes;
+ return Utils::sorted(std::move(processes));
}
};
@@ -1150,8 +1149,7 @@ static FilePaths dirsToCreate(const FilesToTransfer &files)
parentDir = parentDir.parentDir();
}
}
- sort(dirs);
- return dirs;
+ return sorted(std::move(dirs));
}
static QByteArray transferCommand(const FileTransferDirection direction, bool link)
diff --git a/src/plugins/squish/objectsmaptreeitem.cpp b/src/plugins/squish/objectsmaptreeitem.cpp
index 4338181be3b..8f6ba524df9 100644
--- a/src/plugins/squish/objectsmaptreeitem.cpp
+++ b/src/plugins/squish/objectsmaptreeitem.cpp
@@ -85,12 +85,11 @@ QByteArray ObjectsMapTreeItem::propertiesToByteArray() const
return propertiesContent();
QByteArray result;
- PropertyList properties = this->properties();
- sort(properties,
+ const PropertyList properties = sorted(this->properties(),
[](const Property &lhs, const Property &rhs) { return lhs.m_name < rhs.m_name; });
result.append('{');
- for (const Property &property : std::as_const(properties))
+ for (const Property &property : properties)
result.append(property.toString().toUtf8()).append(' ');
if (result.at(result.size() - 1) == ' ')
result.chop(1);
diff --git a/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp b/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp
index a967c555c7a..6a28877ec25 100644
--- a/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp
+++ b/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp
@@ -26,10 +26,10 @@ namespace TextEditor {
// --------------------------
// Note: variables and functions must be sorted
Keywords::Keywords(const QStringList &variables, const QStringList &functions, const QMap<QString, QStringList> &functionArgs)
- : m_variables(variables), m_functions(functions), m_functionArgs(functionArgs)
+ : m_variables(Utils::sorted(variables)),
+ m_functions(Utils::sorted(functions)),
+ m_functionArgs(functionArgs)
{
- Utils::sort(m_variables);
- Utils::sort(m_functions);
}
bool Keywords::isVariable(const QString &word) const
diff --git a/src/plugins/texteditor/codecchooser.cpp b/src/plugins/texteditor/codecchooser.cpp
index ae4ad07f554..65984dffe4a 100644
--- a/src/plugins/texteditor/codecchooser.cpp
+++ b/src/plugins/texteditor/codecchooser.cpp
@@ -22,8 +22,7 @@ namespace TextEditor {
CodecChooser::CodecChooser(Filter filter)
{
- QList<int> mibs = QTextCodec::availableMibs();
- Utils::sort(mibs);
+ QList<int> mibs = Utils::sorted(QTextCodec::availableMibs());
QList<int>::iterator firstNonNegative =
std::find_if(mibs.begin(), mibs.end(), [](int n) { return n >=0; });
if (firstNonNegative != mibs.end())
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index 1d4d0c116e5..4e28d9f1a2d 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -7229,8 +7229,8 @@ void TextEditorWidget::autoIndent()
MultiTextCursor cursor = multiTextCursor();
cursor.beginEditBlock();
// The order is important, since some indenter refer to previous indent positions.
- QList<QTextCursor> cursors = cursor.cursors();
- Utils::sort(cursors, [](const QTextCursor &lhs, const QTextCursor &rhs) {
+ const QList<QTextCursor> cursors = Utils::sorted(cursor.cursors(),
+ [](const QTextCursor &lhs, const QTextCursor &rhs) {
return lhs.selectionStart() < rhs.selectionStart();
});
for (const QTextCursor &c : cursors)
diff --git a/src/plugins/valgrind/suppressiondialog.cpp b/src/plugins/valgrind/suppressiondialog.cpp
index 0d90ee58d86..8913cae16e0 100644
--- a/src/plugins/valgrind/suppressiondialog.cpp
+++ b/src/plugins/valgrind/suppressiondialog.cpp
@@ -193,12 +193,12 @@ void SuppressionDialog::accept()
m_settings->suppressions.addSuppressionFile(path);
- QModelIndexList indices = m_view->selectionModel()->selectedRows();
- Utils::sort(indices, [](const QModelIndex &l, const QModelIndex &r) {
+ const QModelIndexList indices = Utils::sorted(m_view->selectionModel()->selectedRows(),
+ [](const QModelIndex &l, const QModelIndex &r) {
return l.row() > r.row();
});
QAbstractItemModel *model = m_view->model();
- for (const QModelIndex &index : std::as_const(indices)) {
+ for (const QModelIndex &index : indices) {
bool removed = model->removeRow(index.row());
QTC_ASSERT(removed, qt_noop());
Q_UNUSED(removed)
diff --git a/tests/auto/algorithm/tst_algorithm.cpp b/tests/auto/algorithm/tst_algorithm.cpp
index 9eabd58557b..5f2eaf23e2f 100644
--- a/tests/auto/algorithm/tst_algorithm.cpp
+++ b/tests/auto/algorithm/tst_algorithm.cpp
@@ -145,8 +145,7 @@ void tst_Algorithm::transform()
Utils::sort(i2);
QCOMPARE(i2, QList<int>({1, 3, 132}));
QList<qsizetype> i3 = Utils::transform<QList>(strings, &QString::size);
- Utils::sort(i3);
- QCOMPARE(i3, QList<qsizetype>({1, 1, 3}));
+ QCOMPARE(Utils::sorted(i3), QList<qsizetype>({1, 1, 3}));
}
{
const QList<Struct> list({4, 3, 2, 1, 2});
@@ -421,13 +420,11 @@ void tst_Algorithm::sort()
// member function with pointers
QList<QString> arr1({"12345", "3333", "22"});
QList<QString *> s5({&arr1[0], &arr1[1], &arr1[2]});
- Utils::sort(s5, &QString::size);
- QCOMPARE(s5, QList<QString *>({&arr1[2], &arr1[1], &arr1[0]}));
+ QCOMPARE(Utils::sorted(s5, &QString::size), QList<QString *>({&arr1[2], &arr1[1], &arr1[0]}));
// member with pointers
QList<Struct> arr2({4, 1, 3});
QList<Struct *> s6({&arr2[0], &arr2[1], &arr2[2]});
- Utils::sort(s6, &Struct::member);
- QCOMPARE(s6, QList<Struct *>({&arr2[1], &arr2[2], &arr2[0]}));
+ QCOMPARE(Utils::sorted(s6, &Struct::member), QList<Struct *>({&arr2[1], &arr2[2], &arr2[0]}));
// std::array:
std::array<int, 4> array = {{4, 10, 8, 1}};
Utils::sort(array);