diff --git a/src/plugins/coreplugin/iwizardfactory.cpp b/src/plugins/coreplugin/iwizardfactory.cpp index c1c199e4b7c..e85a39f59e5 100644 --- a/src/plugins/coreplugin/iwizardfactory.cpp +++ b/src/plugins/coreplugin/iwizardfactory.cpp @@ -38,7 +38,6 @@ #include #include -#include #include #include @@ -159,16 +158,15 @@ bool s_areFactoriesLoaded = false; } /* A utility to find all wizards supporting a view mode and matching a predicate */ -template - QList findWizardFactories(Predicate predicate) +QList findWizardFactories(const std::function &predicate) { - // Filter all wizards - const QList allFactories = IWizardFactory::allWizardFactories(); - QList rc; - const QList::const_iterator cend = allFactories.constEnd(); - for (QList::const_iterator it = allFactories.constBegin(); it != cend; ++it) - if (predicate(*(*it))) + const QList allFactories = IWizardFactory::allWizardFactories(); + QList rc; + auto cend = allFactories.constEnd(); + for (auto it = allFactories.constBegin(); it != cend; ++it) { + if (predicate(*it)) rc.push_back(*it); + } return rc; } @@ -218,18 +216,9 @@ QList IWizardFactory::allWizardFactories() } // Utility to find all registered wizards of a certain kind - -class WizardKindPredicate { -public: - WizardKindPredicate(IWizardFactory::WizardKind kind) : m_kind(kind) {} - bool operator()(const IWizardFactory &w) const { return w.kind() == m_kind; } -private: - const IWizardFactory::WizardKind m_kind; -}; - QList IWizardFactory::wizardFactoriesOfKind(WizardKind kind) { - return findWizardFactories(WizardKindPredicate(kind)); + return findWizardFactories([kind](IWizardFactory *f) { return f->kind() == kind; }); } QString IWizardFactory::runPath(const QString &defaultPath)