summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/git/git_api.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/git/git_api.hpp')
-rw-r--r--src/buildtool/execution_api/git/git_api.hpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/buildtool/execution_api/git/git_api.hpp b/src/buildtool/execution_api/git/git_api.hpp
index a6ad4196..7fd21005 100644
--- a/src/buildtool/execution_api/git/git_api.hpp
+++ b/src/buildtool/execution_api/git/git_api.hpp
@@ -24,6 +24,7 @@
#include <optional>
#include <string>
#include <unordered_map>
+#include <unordered_set>
#include <utility>
#include <vector>
@@ -327,12 +328,14 @@ class GitApi final : public IExecutionApi {
.has_value();
}
- [[nodiscard]] auto IsAvailable(std::vector<ArtifactDigest> const& digests)
- const noexcept -> std::vector<ArtifactDigest> override {
- std::vector<ArtifactDigest> result;
+ [[nodiscard]] auto IsAvailable(
+ std::unordered_set<ArtifactDigest> const& digests) const noexcept
+ -> std::unordered_set<ArtifactDigest> override {
+ std::unordered_set<ArtifactDigest> result;
+ result.reserve(digests.size());
for (auto const& digest : digests) {
if (not IsAvailable(digest)) {
- result.push_back(digest);
+ result.emplace(digest);
}
}
return result;