summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/common/content_blob_container.hpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2025-01-29 17:04:05 +0100
committerMaksim Denisov <denisov.maksim@huawei.com>2025-02-07 14:58:04 +0100
commit5eb04ac36577b8eab29c24b311852aa05b2fcdff (patch)
treefbf6c567d12e51f56e1ed2774d8167712f0b89fd /src/buildtool/execution_api/common/content_blob_container.hpp
parent2ce9018150d71931853f1bec4f516432ff558186 (diff)
downloadjustbuild-5eb04ac36577b8eab29c24b311852aa05b2fcdff.tar.gz
Move implementation of ContentBlob to artifact_blob
...and remove ContentBlob.
Diffstat (limited to 'src/buildtool/execution_api/common/content_blob_container.hpp')
-rw-r--r--src/buildtool/execution_api/common/content_blob_container.hpp63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/buildtool/execution_api/common/content_blob_container.hpp b/src/buildtool/execution_api/common/content_blob_container.hpp
deleted file mode 100644
index d92c4961..00000000
--- a/src/buildtool/execution_api/common/content_blob_container.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2024 Huawei Cloud Computing Technology Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#ifndef INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_CONTENT_BLOB_CONTAINER_HPP
-#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_CONTENT_BLOB_CONTAINER_HPP
-
-#include <cstddef>
-#include <functional>
-#include <memory>
-#include <string>
-#include <utility> //std::move
-
-#include "gsl/gsl"
-#include "src/utils/cpp/hash_combine.hpp"
-
-template <typename TDigest>
-struct ContentBlob final {
- ContentBlob(TDigest mydigest, std::string mydata, bool is_exec) noexcept
- : digest{std::move(mydigest)},
- data{std::make_shared<std::string>(std::move(mydata))},
- is_exec{is_exec} {}
-
- ContentBlob(TDigest mydigest,
- gsl::not_null<std::shared_ptr<std::string>> const& mydata,
- bool is_exec) noexcept
- : digest{std::move(mydigest)}, data(mydata), is_exec{is_exec} {}
-
- [[nodiscard]] auto operator==(ContentBlob const& other) const noexcept
- -> bool {
- return std::equal_to<TDigest>{}(digest, other.digest) and
- is_exec == other.is_exec;
- }
-
- TDigest digest;
- std::shared_ptr<std::string> data;
- bool is_exec = false;
-};
-
-namespace std {
-template <typename TDigest>
-struct hash<ContentBlob<TDigest>> {
- [[nodiscard]] auto operator()(
- ContentBlob<TDigest> const& blob) const noexcept -> std::size_t {
- std::size_t seed{};
- hash_combine(&seed, blob.digest);
- hash_combine(&seed, blob.is_exec);
- return seed;
- }
-};
-} // namespace std
-
-#endif // INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_CONTENT_BLOB_CONTAINER_HPP