Fixed STLPort error for missing vector::data()
authorWouter van Oortmerssen <wvo@google.com>
Sat, 22 Oct 2016 00:35:41 +0000 (17:35 -0700)
committerWouter van Oortmerssen <wvo@google.com>
Sat, 22 Oct 2016 00:35:41 +0000 (17:35 -0700)
Change-Id: I06fb61edf018adf0f26a81de4596b4972226e466
Tested: on Android.
Bug: 30263829

include/flatbuffers/flatbuffers.h

index df9dfca..e830c44 100644 (file)
@@ -583,6 +583,10 @@ inline size_t PaddingBytes(size_t buf_size, size_t scalar_size) {
 template <typename T> const T* data(const std::vector<T> &v) {
   return v.empty() ? nullptr : &v.front();
 }
+template <typename T> T* data(std::vector<T> &v) {
+  return v.empty() ? nullptr : &v.front();
+}
+
 /// @endcond
 
 /// @addtogroup flatbuffers_cpp_api
@@ -1123,7 +1127,7 @@ FLATBUFFERS_FINAL_CLASS
   /// where the vector is stored.
   template<typename T> Offset<Vector<Offset<T>>> CreateVectorOfSortedTables(
       std::vector<Offset<T>> *v) {
-    return CreateVectorOfSortedTables(v->data(), v->size());
+    return CreateVectorOfSortedTables(data(*v), v->size());
   }
 
   /// @brief Specialized version of `CreateVector` for non-copying use cases.