1 // automatically generated by the FlatBuffers compiler, do not modify
2
3
4 #ifndef FLATBUFFERS_GENERATED_PLAN_ORG_APACHE_ARROW_COMPUTEIR_FLATBUF_H_
5 #define FLATBUFFERS_GENERATED_PLAN_ORG_APACHE_ARROW_COMPUTEIR_FLATBUF_H_
6
7 #include "flatbuffers/flatbuffers.h"
8
9 #include "Schema_generated.h"
10 #include "Expression_generated.h"
11 #include "Literal_generated.h"
12 #include "Relation_generated.h"
13
14 namespace org {
15 namespace apache {
16 namespace arrow {
17 namespace computeir {
18 namespace flatbuf {
19
20 struct Plan;
21 struct PlanBuilder;
22
23 /// A specification of a query.
24 struct Plan FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
25 typedef PlanBuilder Builder;
26 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
27 VT_SINKS = 4
28 };
29 /// One or more output relations.
sinksFLATBUFFERS_FINAL_CLASS30 const flatbuffers::Vector<flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Relation>> *sinks() const {
31 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Relation>> *>(VT_SINKS);
32 }
VerifyFLATBUFFERS_FINAL_CLASS33 bool Verify(flatbuffers::Verifier &verifier) const {
34 return VerifyTableStart(verifier) &&
35 VerifyOffsetRequired(verifier, VT_SINKS) &&
36 verifier.VerifyVector(sinks()) &&
37 verifier.VerifyVectorOfTables(sinks()) &&
38 verifier.EndTable();
39 }
40 };
41
42 struct PlanBuilder {
43 typedef Plan Table;
44 flatbuffers::FlatBufferBuilder &fbb_;
45 flatbuffers::uoffset_t start_;
add_sinksPlanBuilder46 void add_sinks(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Relation>>> sinks) {
47 fbb_.AddOffset(Plan::VT_SINKS, sinks);
48 }
PlanBuilderPlanBuilder49 explicit PlanBuilder(flatbuffers::FlatBufferBuilder &_fbb)
50 : fbb_(_fbb) {
51 start_ = fbb_.StartTable();
52 }
53 PlanBuilder &operator=(const PlanBuilder &);
FinishPlanBuilder54 flatbuffers::Offset<Plan> Finish() {
55 const auto end = fbb_.EndTable(start_);
56 auto o = flatbuffers::Offset<Plan>(end);
57 fbb_.Required(o, Plan::VT_SINKS);
58 return o;
59 }
60 };
61
62 inline flatbuffers::Offset<Plan> CreatePlan(
63 flatbuffers::FlatBufferBuilder &_fbb,
64 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Relation>>> sinks = 0) {
65 PlanBuilder builder_(_fbb);
66 builder_.add_sinks(sinks);
67 return builder_.Finish();
68 }
69
70 inline flatbuffers::Offset<Plan> CreatePlanDirect(
71 flatbuffers::FlatBufferBuilder &_fbb,
72 const std::vector<flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Relation>> *sinks = nullptr) {
73 auto sinks__ = sinks ? _fbb.CreateVector<flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Relation>>(*sinks) : 0;
74 return org::apache::arrow::computeir::flatbuf::CreatePlan(
75 _fbb,
76 sinks__);
77 }
78
GetPlan(const void * buf)79 inline const org::apache::arrow::computeir::flatbuf::Plan *GetPlan(const void *buf) {
80 return flatbuffers::GetRoot<org::apache::arrow::computeir::flatbuf::Plan>(buf);
81 }
82
GetSizePrefixedPlan(const void * buf)83 inline const org::apache::arrow::computeir::flatbuf::Plan *GetSizePrefixedPlan(const void *buf) {
84 return flatbuffers::GetSizePrefixedRoot<org::apache::arrow::computeir::flatbuf::Plan>(buf);
85 }
86
VerifyPlanBuffer(flatbuffers::Verifier & verifier)87 inline bool VerifyPlanBuffer(
88 flatbuffers::Verifier &verifier) {
89 return verifier.VerifyBuffer<org::apache::arrow::computeir::flatbuf::Plan>(nullptr);
90 }
91
VerifySizePrefixedPlanBuffer(flatbuffers::Verifier & verifier)92 inline bool VerifySizePrefixedPlanBuffer(
93 flatbuffers::Verifier &verifier) {
94 return verifier.VerifySizePrefixedBuffer<org::apache::arrow::computeir::flatbuf::Plan>(nullptr);
95 }
96
FinishPlanBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Plan> root)97 inline void FinishPlanBuffer(
98 flatbuffers::FlatBufferBuilder &fbb,
99 flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Plan> root) {
100 fbb.Finish(root);
101 }
102
FinishSizePrefixedPlanBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Plan> root)103 inline void FinishSizePrefixedPlanBuffer(
104 flatbuffers::FlatBufferBuilder &fbb,
105 flatbuffers::Offset<org::apache::arrow::computeir::flatbuf::Plan> root) {
106 fbb.FinishSizePrefixed(root);
107 }
108
109 } // namespace flatbuf
110 } // namespace computeir
111 } // namespace arrow
112 } // namespace apache
113 } // namespace org
114
115 #endif // FLATBUFFERS_GENERATED_PLAN_ORG_APACHE_ARROW_COMPUTEIR_FLATBUF_H_
116