diff options
author | Sara Golemon <sara.golemon@mongodb.com> | 2019-01-15 17:41:02 +0000 |
---|---|---|
committer | Sara Golemon <sara.golemon@mongodb.com> | 2019-01-15 20:07:38 +0000 |
commit | 27cbd015c82dbd4e961382aee2499ec449db081f (patch) | |
tree | a788d1a91cf7cbd596085e822cc174564742bcae | |
parent | a0c5635a5ee27ac30af2e6d3d01c663589f28824 (diff) | |
download | mongo-27cbd015c82dbd4e961382aee2499ec449db081f.tar.gz |
SERVER-39010 Provide move constructors for update_guard
-rw-r--r-- | src/mongo/util/synchronized_value.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mongo/util/synchronized_value.h b/src/mongo/util/synchronized_value.h index 9d3fbe5b9c6..8b067d52fdf 100644 --- a/src/mongo/util/synchronized_value.h +++ b/src/mongo/util/synchronized_value.h @@ -51,12 +51,12 @@ public: ~update_guard() = default; // Only move construction is permitted so that synchronized_value may return update_guard - update_guard(update_guard&&); + update_guard(update_guard&&) = default; + update_guard& operator=(update_guard&&) = default; - // Disallow any copy or move + // Disallow any copy update_guard(update_guard const&) = delete; update_guard& operator=(update_guard const&) = delete; - update_guard&& operator=(update_guard&&) = delete; T& operator*() noexcept { return _value; @@ -82,7 +82,7 @@ public: private: // Held lock from synchronized_value - stdx::lock_guard<stdx::mutex> _lock; + stdx::unique_lock<stdx::mutex> _lock; // Reference to the value from synchronized_value T& _value; @@ -101,12 +101,12 @@ public: ~const_update_guard() = default; // Only move construction is permitted so that synchronized_value may return const_update_guard - const_update_guard(const_update_guard&&); + const_update_guard(const_update_guard&&) = default; + const_update_guard& operator=(const_update_guard&&) = default; - // Disallow any copy or move + // Disallow any copy const_update_guard(const_update_guard const&) = delete; const_update_guard& operator=(const_update_guard const&) = delete; - const_update_guard&& operator=(const_update_guard&&) = delete; T& operator*() const noexcept { return _value; @@ -122,7 +122,7 @@ public: private: // Held lock from synchronized_value - stdx::lock_guard<stdx::mutex> _lock; + stdx::unique_lock<stdx::mutex> _lock; // Reference to the value from synchronized_value const T& _value; |