diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-18 17:51:41 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-23 10:54:50 +0200 |
commit | dc1db0e8b43f5e907a3ded2e39da8b58fa50a04b (patch) | |
tree | 7ca1dd20806fd71c42f875adc1c653df45b147b1 /src/buildtool/storage/local_cas.hpp | |
parent | 6453a846e788887b6cd74d71c1873a5e3270434d (diff) | |
download | justbuild-dc1db0e8b43f5e907a3ded2e39da8b58fa50a04b.tar.gz |
Store HashFunction by const reference.
Despite the fact that HashFunction is a small type, it still makes sense to store it by reference to reflect the ownership. StorageConfig becomes the main holder.
Reference holders store HashFunction by const ref and aren't allowed to change it. However, they are free to return HashFunction by value since this doesn't benefit readability anyhow.
Diffstat (limited to 'src/buildtool/storage/local_cas.hpp')
-rw-r--r-- | src/buildtool/storage/local_cas.hpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/buildtool/storage/local_cas.hpp b/src/buildtool/storage/local_cas.hpp index 8a95c234..8c8d70c2 100644 --- a/src/buildtool/storage/local_cas.hpp +++ b/src/buildtool/storage/local_cas.hpp @@ -52,13 +52,13 @@ class LocalCAS { explicit LocalCAS( GenerationConfig const& config, gsl::not_null<Uplinker<kDoGlobalUplink> const*> const& uplinker) - : cas_file_{config.storage_config->hash_function, + : cas_file_{&config.storage_config->hash_function, config.cas_f, MakeUplinker<ObjectType::File>(config, uplinker)}, - cas_exec_{config.storage_config->hash_function, + cas_exec_{&config.storage_config->hash_function, config.cas_x, MakeUplinker<ObjectType::Executable>(config, uplinker)}, - cas_tree_{config.storage_config->hash_function, + cas_tree_{&config.storage_config->hash_function, config.cas_t, MakeUplinker<ObjectType::Tree>(config, uplinker)}, cas_file_large_{this, config, uplinker}, @@ -284,7 +284,7 @@ class LocalCAS { ObjectCAS<ObjectType::Tree> cas_tree_; LargeObjectCAS<kDoGlobalUplink, ObjectType::File> cas_file_large_; LargeObjectCAS<kDoGlobalUplink, ObjectType::Tree> cas_tree_large_; - HashFunction const hash_function_; + HashFunction const& hash_function_; /// \brief Provides uplink via "exists callback" for physical object CAS. template <ObjectType kType> |