Issue #15 Added CVariant::matches()

If the contained object type has a matches() method, CVariant::matches()
will call that method and return its result.
(This is a utility to allow using CVariant to represent an event subscription.)
This commit is contained in:
Mat Sutcliffe
2019-02-26 01:51:21 +00:00
parent 8de217fbab
commit 073f1549a2
7 changed files with 75 additions and 1 deletions

View File

@@ -36,4 +36,9 @@ namespace BlackMisc
QMetaType::registerConverter<CVariantList, QVector<CVariant>>([](const CVariantList &list) { return list.toVector(); });
QMetaType::registerConverter<QVector<CVariant>, CVariantList>([](const QVector<CVariant> &list) { return CSequence(list); });
}
bool CVariantList::matches(const CVariant &event) const
{
return containsBy([ & ](const CVariant &pattern) { return pattern.matches(event); });
}
} // ns