Use 'const' for the member 'Item* value' in class 'GetValue' 40/78040/3
authorManu Dhundi <manu@couchbase.com>
Thu, 11 May 2017 21:25:44 +0000 (14:25 -0700)
committerDave Rigby <daver@couchbase.com>
Fri, 12 May 2017 16:58:21 +0000 (16:58 +0000)
Class GetValue contains a pointer to an item which is only used to
transfer out the item contained from one layer to another. It does not/
should not change the item it contains.

Hence it would be best to explicitly use const so that the item
contained is not modified by mistake in the future.

Further, it could be a future task to use std::unique_ptr<Item> in
GetValue to explicitly transfer the ownership of the item that
gets handed over from one layer to another.

Change-Id: Ic0a880f3070e299e8ff1628f3ac329aaa1a1b0cb
Reviewed-on: http://review.couchbase.org/78040
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
src/callbacks.h

index ebeb9e8..6211386 100644 (file)
@@ -63,7 +63,7 @@ public:
      * The value retrieved for the key.
      */
     Item* getValue() const {
-        return value;
+        return const_cast<Item*>(value);
     }
 
     /**
@@ -96,7 +96,7 @@ public:
 
 private:
 
-    Item* value;
+    const Item* value;
     uint64_t id;
     ENGINE_ERROR_CODE status;
     bool partial;