summaryrefslogtreecommitdiffstats
path: root/Source/cmRange.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmRange.h')
-rw-r--r--Source/cmRange.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmRange.h b/Source/cmRange.h
index a84ccec..b6d161e 100644
--- a/Source/cmRange.h
+++ b/Source/cmRange.h
@@ -6,6 +6,7 @@
#include "cmConfigure.h" // IWYU pragma: keep
#include <algorithm>
+#include <functional>
#include <iterator>
template <typename Iter>
@@ -55,6 +56,24 @@ public:
return std::move(*this);
}
+ template <typename UnaryPredicate>
+ bool all_of(UnaryPredicate p) const
+ {
+ return std::all_of(this->Begin, this->End, std::ref(p));
+ }
+
+ template <typename UnaryPredicate>
+ bool any_of(UnaryPredicate p) const
+ {
+ return std::any_of(this->Begin, this->End, std::ref(p));
+ }
+
+ template <typename UnaryPredicate>
+ bool none_of(UnaryPredicate p) const
+ {
+ return std::none_of(this->Begin, this->End, std::ref(p));
+ }
+
private:
Iter Begin;
Iter End;