mirror of
https://github.com/savoirfairelinux/opendht.git
synced 2026-11-08 04:21:51 +00:00
filters: add 'or' chaining
This commit is contained in:
1 parent
1af71e88a7
commit
08c21069c4
1 file changed
+9
@@ -146,9 +146,18 @@ struct Value
|
||||
return true;
|
||||
};
|
||||
}
|
||||
static Filter chainOr(Filter&& f1, Filter&& f2) {
|
||||
if (not f1 or not f2) return AllFilter();
|
||||
return [f1,f2](const Value& v) {
|
||||
return f1(v) or f2(v);
|
||||
};
|
||||
}
|
||||
Filter chain(Filter&& f2) {
|
||||
return chain(std::move(*this), std::move(f2));
|
||||
}
|
||||
Filter chainOr(Filter&& f2) {
|
||||
return chainOr(std::move(*this), std::move(f2));
|
||||
}
|
||||
};
|
||||
|
||||
static const Filter AllFilter() {
|
||||
|
||||
Reference in new issue
Block a user