Fixed STLPort error for missing vector::data()

Change-Id: I06fb61edf018adf0f26a81de4596b4972226e466
Tested: on Android.
Bug: 30263829
parent 43ba7c63
...@@ -583,6 +583,10 @@ inline size_t PaddingBytes(size_t buf_size, size_t scalar_size) { ...@@ -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) { template <typename T> const T* data(const std::vector<T> &v) {
return v.empty() ? nullptr : &v.front(); return v.empty() ? nullptr : &v.front();
} }
template <typename T> T* data(std::vector<T> &v) {
return v.empty() ? nullptr : &v.front();
}
/// @endcond /// @endcond
/// @addtogroup flatbuffers_cpp_api /// @addtogroup flatbuffers_cpp_api
...@@ -1123,7 +1127,7 @@ FLATBUFFERS_FINAL_CLASS ...@@ -1123,7 +1127,7 @@ FLATBUFFERS_FINAL_CLASS
/// where the vector is stored. /// where the vector is stored.
template<typename T> Offset<Vector<Offset<T>>> CreateVectorOfSortedTables( template<typename T> Offset<Vector<Offset<T>>> CreateVectorOfSortedTables(
std::vector<Offset<T>> *v) { 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. /// @brief Specialized version of `CreateVector` for non-copying use cases.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment