Add public disown() method to vk::Move.
authorMika Isojärvi <misojarvi@google.com>
Tue, 4 Aug 2015 21:19:24 +0000 (14:19 -0700)
committerMika Isojärvi <misojarvi@google.com>
Tue, 4 Aug 2015 22:02:43 +0000 (15:02 -0700)
Change-Id: Id1077f67be8992020428dbe6e01fe98c9d5a43cf

external/vulkancts/framework/vulkan/vkRef.hpp

index c85fbe5..dee5fc7 100644 (file)
@@ -242,23 +242,24 @@ public:
                                                                : RefBase<T>(data)
                                {}
                                Move            (Move<T>& other)
-                                                               : RefBase<T>(other.disown())
+                                                               : RefBase<T>(other.RefBase<T>::disown())
                                {}
                                Move            (void)
                                                                : RefBase<T>(RefData<T>())
                                {}
 
+       T                       disown          (void) { return this->RefBase<T>::disown().object; }
        Move<T>&        operator=       (Move<T>& other);
        Move<T>&        operator=       (RefData<T> data);
 
-       operator        RefData<T>      (void) { return this->disown(); }
+       operator        RefData<T>      (void) { return this->RefBase<T>::disown(); }
 };
 
 template<typename T>
 inline Move<T>& Move<T>::operator= (Move<T>& other)
 {
        if (this != &other)
-               this->assign(other.disown());
+               this->assign(other.RefBase<T>::disown());
 
        return *this;
 }