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/array.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/array.h')
| -rw-r--r-- | executor/_include/flatbuffers/array.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/executor/_include/flatbuffers/array.h b/executor/_include/flatbuffers/array.h index d4b73fc9e..f4bfbf054 100644 --- a/executor/_include/flatbuffers/array.h +++ b/executor/_include/flatbuffers/array.h @@ -17,6 +17,9 @@ #ifndef FLATBUFFERS_ARRAY_H_ #define FLATBUFFERS_ARRAY_H_ +#include <cstdint> +#include <memory> + #include "flatbuffers/base.h" #include "flatbuffers/stl_emulation.h" #include "flatbuffers/vector.h" @@ -35,7 +38,7 @@ template<typename T, uint16_t length> class Array { public: typedef uint16_t size_type; typedef typename IndirectHelper<IndirectHelperType>::return_type return_type; - typedef VectorIterator<T, return_type> const_iterator; + typedef VectorConstIterator<T, return_type, uoffset_t> const_iterator; typedef VectorReverseIterator<const_iterator> const_reverse_iterator; // If T is a LE-scalar or a struct (!scalar_tag::value). @@ -156,11 +159,13 @@ template<typename T, uint16_t length> class Array { // Specialization for Array[struct] with access using Offset<void> pointer. // This specialization used by idl_gen_text.cpp. -template<typename T, uint16_t length> class Array<Offset<T>, length> { +template<typename T, uint16_t length, template<typename> class OffsetT> +class Array<OffsetT<T>, length> { static_assert(flatbuffers::is_same<T, void>::value, "unexpected type T"); public: typedef const void *return_type; + typedef uint16_t size_type; const uint8_t *Data() const { return data_; } @@ -238,6 +243,14 @@ const Array<E, length> &CastToArrayOfEnum(const T (&arr)[length]) { return *reinterpret_cast<const Array<E, length> *>(arr); } +template<typename T, uint16_t length> +bool operator==(const Array<T, length> &lhs, + const Array<T, length> &rhs) noexcept { + return std::addressof(lhs) == std::addressof(rhs) || + (lhs.size() == rhs.size() && + std::memcmp(lhs.Data(), rhs.Data(), rhs.size() * sizeof(T)) == 0); +} + } // namespace flatbuffers #endif // FLATBUFFERS_ARRAY_H_ |
