diff options
| author | Pimyn Girgis <pimyn@google.com> | 2025-12-02 12:28:10 +0000 |
|---|---|---|
| committer | Tahuti <pimyn@google.com> | 2025-12-03 09:02:54 +0000 |
| commit | 1cfbf16e320ca9bdadd9c24eb1d2d68b25369ba6 (patch) | |
| tree | be0ce827f327c8a76125307e64047e01fa449d4c /executor/_include/flatbuffers/table.h | |
| parent | 42a04216dd856c12e723e48930e85d63998e4eda (diff) | |
executor: update flatbuffers
Update flatbuffers to v23.5.26, which matches the compiler version in the new env container.
Diffstat (limited to 'executor/_include/flatbuffers/table.h')
| -rw-r--r-- | executor/_include/flatbuffers/table.h | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/executor/_include/flatbuffers/table.h b/executor/_include/flatbuffers/table.h index 11b292476..e92d8ae8e 100644 --- a/executor/_include/flatbuffers/table.h +++ b/executor/_include/flatbuffers/table.h @@ -47,14 +47,24 @@ class Table { return field_offset ? ReadScalar<T>(data_ + field_offset) : defaultval; } - template<typename P> P GetPointer(voffset_t field) { + template<typename P, typename OffsetSize = uoffset_t> + P GetPointer(voffset_t field) { auto field_offset = GetOptionalFieldOffset(field); auto p = data_ + field_offset; - return field_offset ? reinterpret_cast<P>(p + ReadScalar<uoffset_t>(p)) + return field_offset ? reinterpret_cast<P>(p + ReadScalar<OffsetSize>(p)) : nullptr; } - template<typename P> P GetPointer(voffset_t field) const { - return const_cast<Table *>(this)->GetPointer<P>(field); + template<typename P, typename OffsetSize = uoffset_t> + P GetPointer(voffset_t field) const { + return const_cast<Table *>(this)->GetPointer<P, OffsetSize>(field); + } + + template<typename P> P GetPointer64(voffset_t field) { + return GetPointer<P, uoffset64_t>(field); + } + + template<typename P> P GetPointer64(voffset_t field) const { + return GetPointer<P, uoffset64_t>(field); } template<typename P> P GetStruct(voffset_t field) const { @@ -131,15 +141,25 @@ class Table { } // Versions for offsets. + template<typename OffsetT = uoffset_t> bool VerifyOffset(const Verifier &verifier, voffset_t field) const { auto field_offset = GetOptionalFieldOffset(field); - return !field_offset || verifier.VerifyOffset(data_, field_offset); + return !field_offset || verifier.VerifyOffset<OffsetT>(data_, field_offset); } + template<typename OffsetT = uoffset_t> bool VerifyOffsetRequired(const Verifier &verifier, voffset_t field) const { auto field_offset = GetOptionalFieldOffset(field); return verifier.Check(field_offset != 0) && - verifier.VerifyOffset(data_, field_offset); + verifier.VerifyOffset<OffsetT>(data_, field_offset); + } + + bool VerifyOffset64(const Verifier &verifier, voffset_t field) const { + return VerifyOffset<uoffset64_t>(verifier, field); + } + + bool VerifyOffset64Required(const Verifier &verifier, voffset_t field) const { + return VerifyOffsetRequired<uoffset64_t>(verifier, field); } private: |
