[C++] Remove std::move around a raw pointer in flatbuffers.h (#4339)
authorvabr-g <vabr@google.com>
Mon, 5 Jun 2017 17:33:04 +0000 (19:33 +0200)
committerWouter van Oortmerssen <aardappel@gmail.com>
Mon, 5 Jun 2017 17:33:04 +0000 (10:33 -0700)
* Remove std::move around a raw pointer

Calling std::move on a raw pointer has no advantage to just copying its value. Moreover, it is confusing, because it indicates that the argument is movable in some non-trivial way (e.g., is it actually meant to be a smart pointer?). More context in https://crbug.com/729393.

* Remove the move constructor altogether

include/flatbuffers/flatbuffers.h

index 75daed6..9311f82 100644 (file)
@@ -127,9 +127,6 @@ public:
   VectorIterator(const uint8_t *data, uoffset_t i) :
       data_(data + IndirectHelper<T>::element_stride * i) {}
   VectorIterator(const VectorIterator &other) : data_(other.data_) {}
-  #ifndef FLATBUFFERS_CPP98_STL
-  VectorIterator(VectorIterator &&other) : data_(std::move(other.data_)) {}
-  #endif
 
   VectorIterator &operator=(const VectorIterator &other) {
     data_ = other.data_;