diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2021-02-19 22:17:22 +0100 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2021-02-19 22:17:22 +0100 |
commit | 52db636c108ab0a16ba0ccf8df55cf28142a230c (patch) | |
tree | 018deafe919cf338968a4e90ca53e1c587db04ae /include/erebos | |
parent | 5dc467310ddebeae8dcb6262f5499f37382711ab (diff) |
Storage: keep weak pointer to Storage in head watcher
Diffstat (limited to 'include/erebos')
-rw-r--r-- | include/erebos/storage.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/erebos/storage.h b/include/erebos/storage.h index 10ced57..75b8139 100644 --- a/include/erebos/storage.h +++ b/include/erebos/storage.h @@ -60,7 +60,7 @@ protected: friend erebos::PartialRef; struct Priv; const std::shared_ptr<const Priv> p; - PartialStorage(const std::shared_ptr<const Priv> p): p(p) {} + PartialStorage(const std::shared_ptr<const Priv> & p): p(p) {} }; class Storage : public PartialStorage @@ -102,7 +102,7 @@ protected: template<typename T> friend class Head; template<typename T> friend class WatchedHead; - Storage(const std::shared_ptr<const Priv> p): PartialStorage(p) {} + Storage(const std::shared_ptr<const Priv> & p): PartialStorage(p) {} std::optional<Ref> headRef(UUID type, UUID id) const; std::vector<std::tuple<UUID, Ref>> headRefs(UUID type) const; @@ -156,7 +156,7 @@ public: PartialRef & operator=(const PartialRef &) = default; PartialRef & operator=(PartialRef &&) = default; - static PartialRef create(PartialStorage, const Digest &); + static PartialRef create(const PartialStorage &, const Digest &); const Digest & digest() const; @@ -184,8 +184,8 @@ public: bool operator==(const Ref &) = delete; bool operator!=(const Ref &) = delete; - static std::optional<Ref> create(Storage, const Digest &); - static Ref zcreate(Storage); + static std::optional<Ref> create(const Storage &, const Digest &); + static Ref zcreate(const Storage &); explicit constexpr operator bool() const { return true; } const Object operator*() const; |