diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2025-01-29 17:04:05 +0100 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2025-02-07 14:58:04 +0100 |
commit | 5eb04ac36577b8eab29c24b311852aa05b2fcdff (patch) | |
tree | fbf6c567d12e51f56e1ed2774d8167712f0b89fd /src/buildtool/execution_api/common/content_blob_container.hpp | |
parent | 2ce9018150d71931853f1bec4f516432ff558186 (diff) | |
download | justbuild-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.hpp | 63 |
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 |