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:
Daniel Teske
2014-07-10 12:57:06 +02:00
parent eccf1dc1e3
commit 16ac3928a0
13 changed files with 34 additions and 46 deletions

View File

@@ -513,9 +513,7 @@ Project *SessionManager::projectForNode(Node *node)
Q_ASSERT(rootProjectNode);
return Utils::findOrDefault(d->m_projects, [rootProjectNode](Project *p) {
return p->rootProjectNode() == rootProjectNode;
});
return Utils::findOrDefault(d->m_projects, Utils::equal(&Project::rootProjectNode, rootProjectNode));
}
QList<Node *> SessionManager::nodesForFile(const QString &fileName, Project *project)