diff options
Diffstat (limited to 'src/mongo/db/s/metadata_manager.h')
-rw-r--r-- | src/mongo/db/s/metadata_manager.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mongo/db/s/metadata_manager.h b/src/mongo/db/s/metadata_manager.h index 73f91f7e44f..04135cef840 100644 --- a/src/mongo/db/s/metadata_manager.h +++ b/src/mongo/db/s/metadata_manager.h @@ -123,6 +123,12 @@ class ScopedCollectionMetadata { public: /** + * Creates an empty ScopedCollectionMetadata. Using the default constructor means that no + * metadata is available. + */ + ScopedCollectionMetadata(); + + /** * Decrements the usageCounter and conditionally makes a call to _removeMetadata on * the tracker if the count has reached zero. */ @@ -137,6 +143,9 @@ public: CollectionMetadata* operator->(); CollectionMetadata* getMetadata(); + /** True if the ScopedCollectionMetadata stores a metadata (is not empty) */ + operator bool() const; + private: friend ScopedCollectionMetadata MetadataManager::getActiveMetadata(); @@ -146,8 +155,8 @@ private: ScopedCollectionMetadata(MetadataManager* manager, MetadataManager::CollectionMetadataTracker* tracker); - MetadataManager* _manager; - MetadataManager::CollectionMetadataTracker* _tracker; + MetadataManager* _manager{nullptr}; + MetadataManager::CollectionMetadataTracker* _tracker{nullptr}; }; } // namespace mongo |