aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
diff options
context:
space:
mode:
Diffstat (limited to 'toolsrc/include')
-rw-r--r--toolsrc/include/vcpkg_Sets.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/toolsrc/include/vcpkg_Sets.h b/toolsrc/include/vcpkg_Sets.h
new file mode 100644
index 000000000..7b330f31c
--- /dev/null
+++ b/toolsrc/include/vcpkg_Sets.h
@@ -0,0 +1,17 @@
+#pragma once
+
+#include "vcpkg_Checks.h"
+#include <unordered_set>
+
+namespace vcpkg { namespace Sets
+{
+ template <typename T, typename Container>
+ void remove_all(std::unordered_set<T>* input_set, Container remove_these)
+ {
+ Checks::check_throw(input_set != nullptr, "Input set cannot be null");
+ for (const T& r : remove_these)
+ {
+ input_set->erase(r);
+ }
+ }
+}}