From b3391c88ae2bef60f5961f1e20ecba49515427f6 Mon Sep 17 00:00:00 2001 From: Sebastian Messmer Date: Fri, 27 Nov 2015 14:06:00 +0100 Subject: [PATCH] Make classes final if they're not meant to be derived from --- ParallelAccessStore.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ParallelAccessStore.h b/ParallelAccessStore.h index 5a1cb9c0..f72408ae 100644 --- a/ParallelAccessStore.h +++ b/ParallelAccessStore.h @@ -20,7 +20,7 @@ namespace parallelaccessstore { template -class ParallelAccessStore { +class ParallelAccessStore final { public: explicit ParallelAccessStore(cpputils::unique_ref> baseStore); ~ParallelAccessStore() { @@ -56,9 +56,10 @@ public: void remove(const Key &key, cpputils::unique_ref block); private: - class OpenResource { + class OpenResource final { public: OpenResource(cpputils::unique_ref resource): _resource(std::move(resource)), _refCount(0) {} + OpenResource(OpenResource &&rhs) = default; Resource *getReference() { ++_refCount; @@ -79,6 +80,8 @@ private: private: cpputils::unique_ref _resource; uint32_t _refCount; + + DISALLOW_COPY_AND_ASSIGN(OpenResource); }; mutable std::mutex _mutex;