// automatically generated by the FlatBuffers compiler, do not modify #ifndef FLATBUFFERS_GENERATED_KEYFIELDSAMPLE_KEYFIELD_SAMPLE_H_ #define FLATBUFFERS_GENERATED_KEYFIELDSAMPLE_KEYFIELD_SAMPLE_H_ #include "flatbuffers/flatbuffers.h" // Ensure the included flatbuffers.h is the same version as when this file was // generated, otherwise it may not be compatible. static_assert(FLATBUFFERS_VERSION_MAJOR == 22 && FLATBUFFERS_VERSION_MINOR == 10 && FLATBUFFERS_VERSION_REVISION == 26, "Non-compatible flatbuffers version included"); namespace keyfield { namespace sample { struct Baz; struct Bar; struct FooTable; struct FooTableBuilder; FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) Baz FLATBUFFERS_FINAL_CLASS { private: uint8_t a_[4]; uint8_t b_; public: Baz() : a_(), b_(0) { } Baz(uint8_t _b) : a_(), b_(flatbuffers::EndianScalar(_b)) { } Baz(flatbuffers::span _a, uint8_t _b) : b_(flatbuffers::EndianScalar(_b)) { flatbuffers::CastToArray(a_).CopyFromSpan(_a); } const flatbuffers::Array *a() const { return &flatbuffers::CastToArray(a_); } bool KeyCompareLessThan(const Baz * const o) const { return KeyCompareWithValue(o->a()) < 0; } int KeyCompareWithValue(const flatbuffers::Array *_a) const { for (auto i = 0; i < a()->size(); i++) { const auto a_l = a_[i]; const auto a_r = _a->Get(i); if(a_l != a_r) return static_cast(a_l > a_r) - static_cast(a_l < a_r); } return 0; } uint8_t b() const { return flatbuffers::EndianScalar(b_); } }; FLATBUFFERS_STRUCT_END(Baz, 5); FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Bar FLATBUFFERS_FINAL_CLASS { private: float a_[3]; uint8_t b_; int8_t padding0__; int16_t padding1__; public: Bar() : a_(), b_(0), padding0__(0), padding1__(0) { (void)padding0__; (void)padding1__; } Bar(uint8_t _b) : a_(), b_(flatbuffers::EndianScalar(_b)), padding0__(0), padding1__(0) { (void)padding0__; (void)padding1__; } Bar(flatbuffers::span _a, uint8_t _b) : b_(flatbuffers::EndianScalar(_b)), padding0__(0), padding1__(0) { flatbuffers::CastToArray(a_).CopyFromSpan(_a); (void)padding0__; (void)padding1__; } const flatbuffers::Array *a() const { return &flatbuffers::CastToArray(a_); } bool KeyCompareLessThan(const Bar * const o) const { return KeyCompareWithValue(o->a()) < 0; } int KeyCompareWithValue(const flatbuffers::Array *_a) const { for (auto i = 0; i < a()->size(); i++) { const auto a_l = a_[i]; const auto a_r = _a->Get(i); if(a_l != a_r) return static_cast(a_l > a_r) - static_cast(a_l < a_r); } return 0; } uint8_t b() const { return flatbuffers::EndianScalar(b_); } }; FLATBUFFERS_STRUCT_END(Bar, 16); struct FooTable FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef FooTableBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_A = 4, VT_B = 6, VT_C = 8, VT_D = 10, VT_E = 12 }; int32_t a() const { return GetField(VT_A, 0); } int32_t b() const { return GetField(VT_B, 0); } const flatbuffers::String *c() const { return GetPointer(VT_C); } bool KeyCompareLessThan(const FooTable * const o) const { return *c() < *o->c(); } int KeyCompareWithValue(const char *_c) const { return strcmp(c()->c_str(), _c); } const flatbuffers::Vector *d() const { return GetPointer *>(VT_D); } const flatbuffers::Vector *e() const { return GetPointer *>(VT_E); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_A, 4) && VerifyField(verifier, VT_B, 4) && VerifyOffsetRequired(verifier, VT_C) && verifier.VerifyString(c()) && VerifyOffset(verifier, VT_D) && verifier.VerifyVector(d()) && VerifyOffset(verifier, VT_E) && verifier.VerifyVector(e()) && verifier.EndTable(); } }; struct FooTableBuilder { typedef FooTable Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_a(int32_t a) { fbb_.AddElement(FooTable::VT_A, a, 0); } void add_b(int32_t b) { fbb_.AddElement(FooTable::VT_B, b, 0); } void add_c(flatbuffers::Offset c) { fbb_.AddOffset(FooTable::VT_C, c); } void add_d(flatbuffers::Offset> d) { fbb_.AddOffset(FooTable::VT_D, d); } void add_e(flatbuffers::Offset> e) { fbb_.AddOffset(FooTable::VT_E, e); } explicit FooTableBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); fbb_.Required(o, FooTable::VT_C); return o; } }; inline flatbuffers::Offset CreateFooTable( flatbuffers::FlatBufferBuilder &_fbb, int32_t a = 0, int32_t b = 0, flatbuffers::Offset c = 0, flatbuffers::Offset> d = 0, flatbuffers::Offset> e = 0) { FooTableBuilder builder_(_fbb); builder_.add_e(e); builder_.add_d(d); builder_.add_c(c); builder_.add_b(b); builder_.add_a(a); return builder_.Finish(); } inline flatbuffers::Offset CreateFooTableDirect( flatbuffers::FlatBufferBuilder &_fbb, int32_t a = 0, int32_t b = 0, const char *c = nullptr, std::vector *d = nullptr, std::vector *e = nullptr) { auto c__ = c ? _fbb.CreateString(c) : 0; auto d__ = d ? _fbb.CreateVectorOfSortedStructs(d) : 0; auto e__ = e ? _fbb.CreateVectorOfSortedStructs(e) : 0; return keyfield::sample::CreateFooTable( _fbb, a, b, c__, d__, e__); } inline const keyfield::sample::FooTable *GetFooTable(const void *buf) { return flatbuffers::GetRoot(buf); } inline const keyfield::sample::FooTable *GetSizePrefixedFooTable(const void *buf) { return flatbuffers::GetSizePrefixedRoot(buf); } inline bool VerifyFooTableBuffer( flatbuffers::Verifier &verifier) { return verifier.VerifyBuffer(nullptr); } inline bool VerifySizePrefixedFooTableBuffer( flatbuffers::Verifier &verifier) { return verifier.VerifySizePrefixedBuffer(nullptr); } inline void FinishFooTableBuffer( flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.Finish(root); } inline void FinishSizePrefixedFooTableBuffer( flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.FinishSizePrefixed(root); } } // namespace sample } // namespace keyfield #endif // FLATBUFFERS_GENERATED_KEYFIELDSAMPLE_KEYFIELD_SAMPLE_H_