diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2025-02-25 15:01:35 +0100 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2025-02-27 09:03:30 +0100 |
commit | 9ef9974db0941587453891e3250ffed8de7e10f1 (patch) | |
tree | d91ce04143e6a246ab25cb80997ebe451134ade5 /src/buildtool/common/artifact_blob.hpp | |
parent | a5e3bc0b304e87e06865f0558acf88995d466b7c (diff) | |
download | justbuild-9ef9974db0941587453891e3250ffed8de7e10f1.tar.gz |
ArtifactBlob: Allow different content sources
Diffstat (limited to 'src/buildtool/common/artifact_blob.hpp')
-rw-r--r-- | src/buildtool/common/artifact_blob.hpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/buildtool/common/artifact_blob.hpp b/src/buildtool/common/artifact_blob.hpp index 800b78c1..c5a03cf9 100644 --- a/src/buildtool/common/artifact_blob.hpp +++ b/src/buildtool/common/artifact_blob.hpp @@ -20,6 +20,7 @@ #include <memory> #include <string> #include <utility> +#include <variant> #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/crypto/hash_function.hpp" @@ -79,12 +80,15 @@ class ArtifactBlob final { } private: + using InMemory = std::shared_ptr<std::string const>; + using ContentSource = std::variant<InMemory>; + ArtifactDigest digest_; - std::shared_ptr<std::string const> content_; + ContentSource content_; bool is_executable_; explicit ArtifactBlob(ArtifactDigest digest, - std::shared_ptr<std::string const> content, + ContentSource content, bool is_executable) noexcept : digest_{std::move(digest)}, content_{std::move(content)}, |