aboutsummaryrefslogtreecommitdiffstats
path: root/executor/_include/flatbuffers/table.h
diff options
context:
space:
mode:
authorPimyn Girgis <pimyn@google.com>2025-12-02 12:28:10 +0000
committerTahuti <pimyn@google.com>2025-12-03 09:02:54 +0000
commit1cfbf16e320ca9bdadd9c24eb1d2d68b25369ba6 (patch)
treebe0ce827f327c8a76125307e64047e01fa449d4c /executor/_include/flatbuffers/table.h
parent42a04216dd856c12e723e48930e85d63998e4eda (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.h32
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: