StoredValue: Add const variant of toOrderedStoredValue() 05/76405/3
authorDave Rigby <daver@couchbase.com>
Thu, 6 Apr 2017 10:56:10 +0000 (11:56 +0100)
committerDave Rigby <daver@couchbase.com>
Fri, 7 Apr 2017 08:20:41 +0000 (08:20 +0000)
Also tidy up some outdated comments about 'small item types' (these
haven't existed for a long time).

Change-Id: I40fded0ccd8baed1faeca6689c8f3185b693823c
Reviewed-on: http://review.couchbase.org/76405
Reviewed-by: Manu Dhundi <manu@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
src/stored-value.cc
src/stored-value.h

index 0c87088..e19a00e 100644 (file)
@@ -183,6 +183,13 @@ OrderedStoredValue* StoredValue::toOrderedStoredValue() {
     throw std::bad_cast();
 }
 
+const OrderedStoredValue* StoredValue::toOrderedStoredValue() const {
+    if (isOrdered) {
+        return static_cast<const OrderedStoredValue*>(this);
+    }
+    throw std::bad_cast();
+}
+
 bool StoredValue::operator==(const StoredValue& other) const {
     return (cas == other.cas && revSeqno == other.revSeqno &&
             bySeqno == other.bySeqno && lock_expiry == other.lock_expiry &&
index 5743d40..4ad1d57 100644 (file)
@@ -204,7 +204,7 @@ public:
     /**
      * Get the expiration time of this item.
      *
-     * @return the expiration time for feature items, 0 for small items
+     * @return the expiration time.
      */
     time_t getExptime() const {
         return exptime;
@@ -218,7 +218,7 @@ public:
     /**
      * Get the client-defined flags of this item.
      *
-     * @return the flags for feature items, 0 for small items
+     * @return the flags.
      */
     uint32_t getFlags() const {
         return flags;
@@ -322,7 +322,7 @@ public:
     /**
      * Get this item's CAS identifier.
      *
-     * @return the cas ID for feature items, 0 for small items
+     * @return the cas ID
      */
     uint64_t getCas() const {
         return cas;
@@ -330,8 +330,6 @@ public:
 
     /**
      * Set a new CAS ID.
-     *
-     * This is a NOOP for small item types.
      */
     void setCas(uint64_t c) {
         cas = c;
@@ -339,8 +337,6 @@ public:
 
     /**
      * Lock this item until the given time.
-     *
-     * This is a NOOP for small item types.
      */
     void lock(rel_time_t expiry) {
         lock_expiry = expiry;
@@ -580,6 +576,7 @@ public:
      * vptr per object.
      */
     OrderedStoredValue* toOrderedStoredValue();
+    const OrderedStoredValue* toOrderedStoredValue() const;
 
     /**
      * Check if the contents of the StoredValue is same as that of the other