forked from qt-creator/qt-creator
Algorithms: Introduce helper Utils::equal
Takes a member (function) pointer and a value and returns a functor, that takes a instance of the mfp's class and returns whether it's equal to value. Sounds complicated, but is a common pattern that is easy to understand. Change-Id: Iaaeb90488d34ddfd6940dadd4c66705381198fee Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
@@ -227,16 +227,12 @@ void Project::setActiveTarget(Target *target)
|
||||
|
||||
Target *Project::target(Core::Id id) const
|
||||
{
|
||||
return Utils::findOrDefault(d->m_targets, [&id](Target *target) {
|
||||
return target->id() == id;
|
||||
});
|
||||
return Utils::findOrDefault(d->m_targets, Utils::equal(&Target::id, id));
|
||||
}
|
||||
|
||||
Target *Project::target(Kit *k) const
|
||||
{
|
||||
return Utils::findOrDefault(d->m_targets, [&k](Target *target) {
|
||||
return target->kit() == k;
|
||||
});
|
||||
return Utils::findOrDefault(d->m_targets, Utils::equal(&Target::kit, k));
|
||||
}
|
||||
|
||||
bool Project::supportsKit(Kit *k, QString *errorMessage) const
|
||||
@@ -499,9 +495,7 @@ void Project::setup(QList<const BuildInfo *> infoList)
|
||||
continue;
|
||||
Target *t = target(k);
|
||||
if (!t) {
|
||||
t = Utils::findOrDefault(toRegister, [&k](Target *i){
|
||||
return i->kit() == k;
|
||||
});
|
||||
t = Utils::findOrDefault(toRegister, Utils::equal(&Target::kit, k));
|
||||
}
|
||||
if (!t) {
|
||||
t = new Target(this, k);
|
||||
|
||||
Reference in New Issue
Block a user