From e2f73a93be5977b5e18f4ba3aa05ea31bc5c16c4 Mon Sep 17 00:00:00 2001 From: Maksim Denisov Date: Tue, 28 Jan 2025 10:25:07 +0100 Subject: Remove ContentBlobContainer and TransformedRange --- .../common/content_blob_container.hpp | 83 ---------------------- 1 file changed, 83 deletions(-) (limited to 'src/buildtool/execution_api/common/content_blob_container.hpp') diff --git a/src/buildtool/execution_api/common/content_blob_container.hpp b/src/buildtool/execution_api/common/content_blob_container.hpp index bc546ac4..d92c4961 100644 --- a/src/buildtool/execution_api/common/content_blob_container.hpp +++ b/src/buildtool/execution_api/common/content_blob_container.hpp @@ -19,13 +19,10 @@ #include #include #include -#include #include //std::move -#include #include "gsl/gsl" #include "src/utils/cpp/hash_combine.hpp" -#include "src/utils/cpp/transformed_range.hpp" template struct ContentBlob final { @@ -63,84 +60,4 @@ struct hash> { }; } // namespace std -template -class ContentBlobContainer final { - public: - using DigestType = TDigest; - using BlobType = ContentBlob; - - ContentBlobContainer() noexcept = default; - explicit ContentBlobContainer(std::vector blobs) { - blobs_.reserve(blobs.size()); - for (auto& blob : blobs) { - this->Emplace(std::move(blob)); - } - } - - /// \brief Emplace new Blob to container. - void Emplace(BlobType&& blob) { - DigestType digest = blob.digest; - if (auto res = blobs_.emplace(std::move(digest), std::move(blob)); - res.second) { - // only count size if blob was actually added - content_size_ += res.first->second.data->size(); - } - } - - /// \brief Clear all Blobs from container. - void Clear() noexcept { - blobs_.clear(); - content_size_ = 0; - } - - /// \brief Number of Blobs in container. - [[nodiscard]] auto Size() const noexcept -> std::size_t { - return blobs_.size(); - } - - /// \brief Collective size of the stored content in container. - [[nodiscard]] auto ContentSize() const noexcept -> std::size_t { - return content_size_; - } - - /// \brief Is equivalent BazelBlob (with same Digest) in container. - /// \param[in] blob BazelBlob to search equivalent BazelBlob for - [[nodiscard]] auto Contains(BlobType const& blob) const noexcept -> bool { - return blobs_.contains(blob.digest); - } - - /// \brief Obtain iterable list of Blobs from container. - [[nodiscard]] auto Blobs() const noexcept { - auto converter = [](auto const& p) -> BlobType const& { - return p.second; - }; - return TransformedRange{ - blobs_.cbegin(), blobs_.cend(), std::move(converter)}; - } - - /// \brief Obtain iterable list of Digests from container. - [[nodiscard]] auto Digests() const noexcept { - auto converter = [](auto const& p) -> DigestType const& { - return p.first; - }; - return TransformedRange{ - blobs_.cbegin(), blobs_.cend(), std::move(converter)}; - } - - /// \brief Obtain iterable list of BazelBlobs related to Digests. - /// \param[in] related Related Digests - [[nodiscard]] auto RelatedBlobs( - std::vector const& related) const noexcept { - auto converter = [this](auto const& digest) -> BlobType const& { - return blobs_.at(digest); - }; - return TransformedRange{ - related.begin(), related.end(), std::move(converter)}; - }; - - private: - std::unordered_map blobs_{}; - std::size_t content_size_{}; -}; - #endif // INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_CONTENT_BLOB_CONTAINER_HPP -- cgit v1.2.3