From e6463926479bd6b330cbcf673f7e917803fd5831 Mon Sep 17 00:00:00 2001 From: Derek Bailey Date: Wed, 17 Apr 2024 16:06:26 +0000 Subject: [PATCH] `flatbuffer_builder`: Fix GetTemporaryPointer constantness --- include/flatbuffers/flatbuffer_builder.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/include/flatbuffers/flatbuffer_builder.h b/include/flatbuffers/flatbuffer_builder.h index 9a2d62541bd..9ceca8207b6 100644 --- a/include/flatbuffers/flatbuffer_builder.h +++ b/include/flatbuffers/flatbuffer_builder.h @@ -47,7 +47,8 @@ inline voffset_t FieldIndexToOffset(voffset_t field_id) { 2 * sizeof(voffset_t); // Vtable size and Object Size. size_t offset = fixed_fields + field_id * sizeof(voffset_t); FLATBUFFERS_ASSERT(offset < std::numeric_limits::max()); - return static_cast(offset);} + return static_cast(offset); +} template> const T *data(const std::vector &v) { @@ -241,7 +242,7 @@ template class FlatBufferBuilderImpl { /// called. uint8_t *ReleaseRaw(size_t &size, size_t &offset) { Finished(); - uint8_t* raw = buf_.release_raw(size, offset); + uint8_t *raw = buf_.release_raw(size, offset); Clear(); return raw; } @@ -561,7 +562,7 @@ template class FlatBufferBuilderImpl { return CreateString(str.c_str(), str.length()); } -// clang-format off + // clang-format off #ifdef FLATBUFFERS_HAS_STRING_VIEW /// @brief Store a string in the buffer, which can contain any binary data. /// @param[in] str A const string_view to copy in to the buffer. @@ -743,7 +744,7 @@ template class FlatBufferBuilderImpl { AssertScalarT(); StartVector(len); if (len > 0) { -// clang-format off + // clang-format off #if FLATBUFFERS_LITTLEENDIAN PushBytes(reinterpret_cast(v), len * sizeof(T)); #else @@ -1470,7 +1471,8 @@ T *GetMutableTemporaryPointer(FlatBufferBuilder &fbb, Offset offset) { template const T *GetTemporaryPointer(const FlatBufferBuilder &fbb, Offset offset) { - return GetMutableTemporaryPointer(fbb, offset); + return reinterpret_cast(fbb.GetCurrentBufferPointer() + + fbb.GetSize() - offset.o); } } // namespace flatbuffers