1 // automatically generated by the FlatBuffers compiler, do not modify
2
3
4 #ifndef FLATBUFFERS_GENERATED_FBRESULT_OSRM_ENGINE_API_FBRESULT_H_
5 #define FLATBUFFERS_GENERATED_FBRESULT_OSRM_ENGINE_API_FBRESULT_H_
6
7 #include "flatbuffers/flatbuffers.h"
8
9 namespace osrm {
10 namespace engine {
11 namespace api {
12 namespace fbresult {
13
14 struct Position;
15
16 struct Uint64Pair;
17
18 struct Waypoint;
19 struct WaypointT;
20
21 struct Metadata;
22 struct MetadataT;
23
24 struct Annotation;
25 struct AnnotationT;
26
27 struct StepManeuver;
28 struct StepManeuverT;
29
30 struct Lane;
31 struct LaneT;
32
33 struct Intersection;
34 struct IntersectionT;
35
36 struct Step;
37 struct StepT;
38
39 struct Leg;
40 struct LegT;
41
42 struct RouteObject;
43 struct RouteObjectT;
44
45 struct Table;
46 struct TableT;
47
48 struct Error;
49 struct ErrorT;
50
51 struct FBResult;
52 struct FBResultT;
53
54 enum ManeuverType {
55 ManeuverType_Turn = 0,
56 ManeuverType_NewName = 1,
57 ManeuverType_Depart = 2,
58 ManeuverType_Arrive = 3,
59 ManeuverType_Merge = 4,
60 ManeuverType_OnRamp = 5,
61 ManeuverType_OffRamp = 6,
62 ManeuverType_Fork = 7,
63 ManeuverType_EndOfRoad = 8,
64 ManeuverType_Continue = 9,
65 ManeuverType_Roundabout = 10,
66 ManeuverType_Rotary = 11,
67 ManeuverType_RoundaboutTurn = 12,
68 ManeuverType_Notification = 13,
69 ManeuverType_ExitRoundabout = 14,
70 ManeuverType_ExitRotary = 15,
71 ManeuverType_MIN = ManeuverType_Turn,
72 ManeuverType_MAX = ManeuverType_ExitRotary
73 };
74
EnumValuesManeuverType()75 inline const ManeuverType (&EnumValuesManeuverType())[16] {
76 static const ManeuverType values[] = {
77 ManeuverType_Turn,
78 ManeuverType_NewName,
79 ManeuverType_Depart,
80 ManeuverType_Arrive,
81 ManeuverType_Merge,
82 ManeuverType_OnRamp,
83 ManeuverType_OffRamp,
84 ManeuverType_Fork,
85 ManeuverType_EndOfRoad,
86 ManeuverType_Continue,
87 ManeuverType_Roundabout,
88 ManeuverType_Rotary,
89 ManeuverType_RoundaboutTurn,
90 ManeuverType_Notification,
91 ManeuverType_ExitRoundabout,
92 ManeuverType_ExitRotary
93 };
94 return values;
95 }
96
EnumNamesManeuverType()97 inline const char * const *EnumNamesManeuverType() {
98 static const char * const names[17] = {
99 "Turn",
100 "NewName",
101 "Depart",
102 "Arrive",
103 "Merge",
104 "OnRamp",
105 "OffRamp",
106 "Fork",
107 "EndOfRoad",
108 "Continue",
109 "Roundabout",
110 "Rotary",
111 "RoundaboutTurn",
112 "Notification",
113 "ExitRoundabout",
114 "ExitRotary",
115 nullptr
116 };
117 return names;
118 }
119
EnumNameManeuverType(ManeuverType e)120 inline const char *EnumNameManeuverType(ManeuverType e) {
121 if (e < ManeuverType_Turn || e > ManeuverType_ExitRotary) return "";
122 const size_t index = static_cast<size_t>(e);
123 return EnumNamesManeuverType()[index];
124 }
125
126 enum Turn {
127 Turn_None = 0,
128 Turn_UTurn = 1,
129 Turn_SharpRight = 2,
130 Turn_Right = 3,
131 Turn_SlightRight = 4,
132 Turn_Straight = 5,
133 Turn_SlightLeft = 6,
134 Turn_Left = 7,
135 Turn_SharpLeft = 8,
136 Turn_MIN = Turn_None,
137 Turn_MAX = Turn_SharpLeft
138 };
139
EnumValuesTurn()140 inline const Turn (&EnumValuesTurn())[9] {
141 static const Turn values[] = {
142 Turn_None,
143 Turn_UTurn,
144 Turn_SharpRight,
145 Turn_Right,
146 Turn_SlightRight,
147 Turn_Straight,
148 Turn_SlightLeft,
149 Turn_Left,
150 Turn_SharpLeft
151 };
152 return values;
153 }
154
EnumNamesTurn()155 inline const char * const *EnumNamesTurn() {
156 static const char * const names[10] = {
157 "None",
158 "UTurn",
159 "SharpRight",
160 "Right",
161 "SlightRight",
162 "Straight",
163 "SlightLeft",
164 "Left",
165 "SharpLeft",
166 nullptr
167 };
168 return names;
169 }
170
EnumNameTurn(Turn e)171 inline const char *EnumNameTurn(Turn e) {
172 if (e < Turn_None || e > Turn_SharpLeft) return "";
173 const size_t index = static_cast<size_t>(e);
174 return EnumNamesTurn()[index];
175 }
176
177 FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Position FLATBUFFERS_FINAL_CLASS {
178 private:
179 float longitude_;
180 float latitude_;
181
182 public:
Position()183 Position() {
184 memset(static_cast<void *>(this), 0, sizeof(Position));
185 }
Position(float _longitude,float _latitude)186 Position(float _longitude, float _latitude)
187 : longitude_(flatbuffers::EndianScalar(_longitude)),
188 latitude_(flatbuffers::EndianScalar(_latitude)) {
189 }
longitude()190 float longitude() const {
191 return flatbuffers::EndianScalar(longitude_);
192 }
latitude()193 float latitude() const {
194 return flatbuffers::EndianScalar(latitude_);
195 }
196 };
197 FLATBUFFERS_STRUCT_END(Position, 8);
198
199 FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(8) Uint64Pair FLATBUFFERS_FINAL_CLASS {
200 private:
201 uint64_t first_;
202 uint64_t second_;
203
204 public:
Uint64Pair()205 Uint64Pair() {
206 memset(static_cast<void *>(this), 0, sizeof(Uint64Pair));
207 }
Uint64Pair(uint64_t _first,uint64_t _second)208 Uint64Pair(uint64_t _first, uint64_t _second)
209 : first_(flatbuffers::EndianScalar(_first)),
210 second_(flatbuffers::EndianScalar(_second)) {
211 }
first()212 uint64_t first() const {
213 return flatbuffers::EndianScalar(first_);
214 }
second()215 uint64_t second() const {
216 return flatbuffers::EndianScalar(second_);
217 }
218 };
219 FLATBUFFERS_STRUCT_END(Uint64Pair, 16);
220
221 struct WaypointT : public flatbuffers::NativeTable {
222 typedef Waypoint TableType;
223 std::string hint;
224 float distance;
225 std::string name;
226 std::unique_ptr<osrm::engine::api::fbresult::Position> location;
227 std::unique_ptr<osrm::engine::api::fbresult::Uint64Pair> nodes;
228 uint32_t matchings_index;
229 uint32_t waypoint_index;
230 uint32_t alternatives_count;
231 uint32_t trips_index;
WaypointTWaypointT232 WaypointT()
233 : distance(0.0f),
234 matchings_index(0),
235 waypoint_index(0),
236 alternatives_count(0),
237 trips_index(0) {
238 }
239 };
240
241 struct Waypoint FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
242 typedef WaypointT NativeTableType;
243 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
244 VT_HINT = 4,
245 VT_DISTANCE = 6,
246 VT_NAME = 8,
247 VT_LOCATION = 10,
248 VT_NODES = 12,
249 VT_MATCHINGS_INDEX = 14,
250 VT_WAYPOINT_INDEX = 16,
251 VT_ALTERNATIVES_COUNT = 18,
252 VT_TRIPS_INDEX = 20
253 };
hintFLATBUFFERS_FINAL_CLASS254 const flatbuffers::String *hint() const {
255 return GetPointer<const flatbuffers::String *>(VT_HINT);
256 }
distanceFLATBUFFERS_FINAL_CLASS257 float distance() const {
258 return GetField<float>(VT_DISTANCE, 0.0f);
259 }
nameFLATBUFFERS_FINAL_CLASS260 const flatbuffers::String *name() const {
261 return GetPointer<const flatbuffers::String *>(VT_NAME);
262 }
locationFLATBUFFERS_FINAL_CLASS263 const osrm::engine::api::fbresult::Position *location() const {
264 return GetStruct<const osrm::engine::api::fbresult::Position *>(VT_LOCATION);
265 }
nodesFLATBUFFERS_FINAL_CLASS266 const osrm::engine::api::fbresult::Uint64Pair *nodes() const {
267 return GetStruct<const osrm::engine::api::fbresult::Uint64Pair *>(VT_NODES);
268 }
matchings_indexFLATBUFFERS_FINAL_CLASS269 uint32_t matchings_index() const {
270 return GetField<uint32_t>(VT_MATCHINGS_INDEX, 0);
271 }
waypoint_indexFLATBUFFERS_FINAL_CLASS272 uint32_t waypoint_index() const {
273 return GetField<uint32_t>(VT_WAYPOINT_INDEX, 0);
274 }
alternatives_countFLATBUFFERS_FINAL_CLASS275 uint32_t alternatives_count() const {
276 return GetField<uint32_t>(VT_ALTERNATIVES_COUNT, 0);
277 }
trips_indexFLATBUFFERS_FINAL_CLASS278 uint32_t trips_index() const {
279 return GetField<uint32_t>(VT_TRIPS_INDEX, 0);
280 }
VerifyFLATBUFFERS_FINAL_CLASS281 bool Verify(flatbuffers::Verifier &verifier) const {
282 return VerifyTableStart(verifier) &&
283 VerifyOffset(verifier, VT_HINT) &&
284 verifier.VerifyString(hint()) &&
285 VerifyField<float>(verifier, VT_DISTANCE) &&
286 VerifyOffset(verifier, VT_NAME) &&
287 verifier.VerifyString(name()) &&
288 VerifyField<osrm::engine::api::fbresult::Position>(verifier, VT_LOCATION) &&
289 VerifyField<osrm::engine::api::fbresult::Uint64Pair>(verifier, VT_NODES) &&
290 VerifyField<uint32_t>(verifier, VT_MATCHINGS_INDEX) &&
291 VerifyField<uint32_t>(verifier, VT_WAYPOINT_INDEX) &&
292 VerifyField<uint32_t>(verifier, VT_ALTERNATIVES_COUNT) &&
293 VerifyField<uint32_t>(verifier, VT_TRIPS_INDEX) &&
294 verifier.EndTable();
295 }
296 WaypointT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
297 void UnPackTo(WaypointT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
298 static flatbuffers::Offset<Waypoint> Pack(flatbuffers::FlatBufferBuilder &_fbb, const WaypointT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
299 };
300
301 struct WaypointBuilder {
302 flatbuffers::FlatBufferBuilder &fbb_;
303 flatbuffers::uoffset_t start_;
add_hintWaypointBuilder304 void add_hint(flatbuffers::Offset<flatbuffers::String> hint) {
305 fbb_.AddOffset(Waypoint::VT_HINT, hint);
306 }
add_distanceWaypointBuilder307 void add_distance(float distance) {
308 fbb_.AddElement<float>(Waypoint::VT_DISTANCE, distance, 0.0f);
309 }
add_nameWaypointBuilder310 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
311 fbb_.AddOffset(Waypoint::VT_NAME, name);
312 }
add_locationWaypointBuilder313 void add_location(const osrm::engine::api::fbresult::Position *location) {
314 fbb_.AddStruct(Waypoint::VT_LOCATION, location);
315 }
add_nodesWaypointBuilder316 void add_nodes(const osrm::engine::api::fbresult::Uint64Pair *nodes) {
317 fbb_.AddStruct(Waypoint::VT_NODES, nodes);
318 }
add_matchings_indexWaypointBuilder319 void add_matchings_index(uint32_t matchings_index) {
320 fbb_.AddElement<uint32_t>(Waypoint::VT_MATCHINGS_INDEX, matchings_index, 0);
321 }
add_waypoint_indexWaypointBuilder322 void add_waypoint_index(uint32_t waypoint_index) {
323 fbb_.AddElement<uint32_t>(Waypoint::VT_WAYPOINT_INDEX, waypoint_index, 0);
324 }
add_alternatives_countWaypointBuilder325 void add_alternatives_count(uint32_t alternatives_count) {
326 fbb_.AddElement<uint32_t>(Waypoint::VT_ALTERNATIVES_COUNT, alternatives_count, 0);
327 }
add_trips_indexWaypointBuilder328 void add_trips_index(uint32_t trips_index) {
329 fbb_.AddElement<uint32_t>(Waypoint::VT_TRIPS_INDEX, trips_index, 0);
330 }
WaypointBuilderWaypointBuilder331 explicit WaypointBuilder(flatbuffers::FlatBufferBuilder &_fbb)
332 : fbb_(_fbb) {
333 start_ = fbb_.StartTable();
334 }
335 WaypointBuilder &operator=(const WaypointBuilder &);
FinishWaypointBuilder336 flatbuffers::Offset<Waypoint> Finish() {
337 const auto end = fbb_.EndTable(start_);
338 auto o = flatbuffers::Offset<Waypoint>(end);
339 return o;
340 }
341 };
342
343 inline flatbuffers::Offset<Waypoint> CreateWaypoint(
344 flatbuffers::FlatBufferBuilder &_fbb,
345 flatbuffers::Offset<flatbuffers::String> hint = 0,
346 float distance = 0.0f,
347 flatbuffers::Offset<flatbuffers::String> name = 0,
348 const osrm::engine::api::fbresult::Position *location = 0,
349 const osrm::engine::api::fbresult::Uint64Pair *nodes = 0,
350 uint32_t matchings_index = 0,
351 uint32_t waypoint_index = 0,
352 uint32_t alternatives_count = 0,
353 uint32_t trips_index = 0) {
354 WaypointBuilder builder_(_fbb);
355 builder_.add_trips_index(trips_index);
356 builder_.add_alternatives_count(alternatives_count);
357 builder_.add_waypoint_index(waypoint_index);
358 builder_.add_matchings_index(matchings_index);
359 builder_.add_nodes(nodes);
360 builder_.add_location(location);
361 builder_.add_name(name);
362 builder_.add_distance(distance);
363 builder_.add_hint(hint);
364 return builder_.Finish();
365 }
366
367 inline flatbuffers::Offset<Waypoint> CreateWaypointDirect(
368 flatbuffers::FlatBufferBuilder &_fbb,
369 const char *hint = nullptr,
370 float distance = 0.0f,
371 const char *name = nullptr,
372 const osrm::engine::api::fbresult::Position *location = 0,
373 const osrm::engine::api::fbresult::Uint64Pair *nodes = 0,
374 uint32_t matchings_index = 0,
375 uint32_t waypoint_index = 0,
376 uint32_t alternatives_count = 0,
377 uint32_t trips_index = 0) {
378 auto hint__ = hint ? _fbb.CreateString(hint) : 0;
379 auto name__ = name ? _fbb.CreateString(name) : 0;
380 return osrm::engine::api::fbresult::CreateWaypoint(
381 _fbb,
382 hint__,
383 distance,
384 name__,
385 location,
386 nodes,
387 matchings_index,
388 waypoint_index,
389 alternatives_count,
390 trips_index);
391 }
392
393 flatbuffers::Offset<Waypoint> CreateWaypoint(flatbuffers::FlatBufferBuilder &_fbb, const WaypointT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
394
395 struct MetadataT : public flatbuffers::NativeTable {
396 typedef Metadata TableType;
397 std::vector<std::string> datasource_names;
MetadataTMetadataT398 MetadataT() {
399 }
400 };
401
402 struct Metadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
403 typedef MetadataT NativeTableType;
404 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
405 VT_DATASOURCE_NAMES = 4
406 };
datasource_namesFLATBUFFERS_FINAL_CLASS407 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *datasource_names() const {
408 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_DATASOURCE_NAMES);
409 }
VerifyFLATBUFFERS_FINAL_CLASS410 bool Verify(flatbuffers::Verifier &verifier) const {
411 return VerifyTableStart(verifier) &&
412 VerifyOffset(verifier, VT_DATASOURCE_NAMES) &&
413 verifier.VerifyVector(datasource_names()) &&
414 verifier.VerifyVectorOfStrings(datasource_names()) &&
415 verifier.EndTable();
416 }
417 MetadataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
418 void UnPackTo(MetadataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
419 static flatbuffers::Offset<Metadata> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
420 };
421
422 struct MetadataBuilder {
423 flatbuffers::FlatBufferBuilder &fbb_;
424 flatbuffers::uoffset_t start_;
add_datasource_namesMetadataBuilder425 void add_datasource_names(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> datasource_names) {
426 fbb_.AddOffset(Metadata::VT_DATASOURCE_NAMES, datasource_names);
427 }
MetadataBuilderMetadataBuilder428 explicit MetadataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
429 : fbb_(_fbb) {
430 start_ = fbb_.StartTable();
431 }
432 MetadataBuilder &operator=(const MetadataBuilder &);
FinishMetadataBuilder433 flatbuffers::Offset<Metadata> Finish() {
434 const auto end = fbb_.EndTable(start_);
435 auto o = flatbuffers::Offset<Metadata>(end);
436 return o;
437 }
438 };
439
440 inline flatbuffers::Offset<Metadata> CreateMetadata(
441 flatbuffers::FlatBufferBuilder &_fbb,
442 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> datasource_names = 0) {
443 MetadataBuilder builder_(_fbb);
444 builder_.add_datasource_names(datasource_names);
445 return builder_.Finish();
446 }
447
448 inline flatbuffers::Offset<Metadata> CreateMetadataDirect(
449 flatbuffers::FlatBufferBuilder &_fbb,
450 const std::vector<flatbuffers::Offset<flatbuffers::String>> *datasource_names = nullptr) {
451 auto datasource_names__ = datasource_names ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*datasource_names) : 0;
452 return osrm::engine::api::fbresult::CreateMetadata(
453 _fbb,
454 datasource_names__);
455 }
456
457 flatbuffers::Offset<Metadata> CreateMetadata(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
458
459 struct AnnotationT : public flatbuffers::NativeTable {
460 typedef Annotation TableType;
461 std::vector<uint32_t> distance;
462 std::vector<uint32_t> duration;
463 std::vector<uint32_t> datasources;
464 std::vector<uint32_t> nodes;
465 std::vector<uint32_t> weight;
466 std::vector<float> speed;
467 std::unique_ptr<osrm::engine::api::fbresult::MetadataT> metadata;
AnnotationTAnnotationT468 AnnotationT() {
469 }
470 };
471
472 struct Annotation FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
473 typedef AnnotationT NativeTableType;
474 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
475 VT_DISTANCE = 4,
476 VT_DURATION = 6,
477 VT_DATASOURCES = 8,
478 VT_NODES = 10,
479 VT_WEIGHT = 12,
480 VT_SPEED = 14,
481 VT_METADATA = 16
482 };
distanceFLATBUFFERS_FINAL_CLASS483 const flatbuffers::Vector<uint32_t> *distance() const {
484 return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DISTANCE);
485 }
durationFLATBUFFERS_FINAL_CLASS486 const flatbuffers::Vector<uint32_t> *duration() const {
487 return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DURATION);
488 }
datasourcesFLATBUFFERS_FINAL_CLASS489 const flatbuffers::Vector<uint32_t> *datasources() const {
490 return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DATASOURCES);
491 }
nodesFLATBUFFERS_FINAL_CLASS492 const flatbuffers::Vector<uint32_t> *nodes() const {
493 return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_NODES);
494 }
weightFLATBUFFERS_FINAL_CLASS495 const flatbuffers::Vector<uint32_t> *weight() const {
496 return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_WEIGHT);
497 }
speedFLATBUFFERS_FINAL_CLASS498 const flatbuffers::Vector<float> *speed() const {
499 return GetPointer<const flatbuffers::Vector<float> *>(VT_SPEED);
500 }
metadataFLATBUFFERS_FINAL_CLASS501 const osrm::engine::api::fbresult::Metadata *metadata() const {
502 return GetPointer<const osrm::engine::api::fbresult::Metadata *>(VT_METADATA);
503 }
VerifyFLATBUFFERS_FINAL_CLASS504 bool Verify(flatbuffers::Verifier &verifier) const {
505 return VerifyTableStart(verifier) &&
506 VerifyOffset(verifier, VT_DISTANCE) &&
507 verifier.VerifyVector(distance()) &&
508 VerifyOffset(verifier, VT_DURATION) &&
509 verifier.VerifyVector(duration()) &&
510 VerifyOffset(verifier, VT_DATASOURCES) &&
511 verifier.VerifyVector(datasources()) &&
512 VerifyOffset(verifier, VT_NODES) &&
513 verifier.VerifyVector(nodes()) &&
514 VerifyOffset(verifier, VT_WEIGHT) &&
515 verifier.VerifyVector(weight()) &&
516 VerifyOffset(verifier, VT_SPEED) &&
517 verifier.VerifyVector(speed()) &&
518 VerifyOffset(verifier, VT_METADATA) &&
519 verifier.VerifyTable(metadata()) &&
520 verifier.EndTable();
521 }
522 AnnotationT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
523 void UnPackTo(AnnotationT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
524 static flatbuffers::Offset<Annotation> Pack(flatbuffers::FlatBufferBuilder &_fbb, const AnnotationT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
525 };
526
527 struct AnnotationBuilder {
528 flatbuffers::FlatBufferBuilder &fbb_;
529 flatbuffers::uoffset_t start_;
add_distanceAnnotationBuilder530 void add_distance(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> distance) {
531 fbb_.AddOffset(Annotation::VT_DISTANCE, distance);
532 }
add_durationAnnotationBuilder533 void add_duration(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> duration) {
534 fbb_.AddOffset(Annotation::VT_DURATION, duration);
535 }
add_datasourcesAnnotationBuilder536 void add_datasources(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> datasources) {
537 fbb_.AddOffset(Annotation::VT_DATASOURCES, datasources);
538 }
add_nodesAnnotationBuilder539 void add_nodes(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> nodes) {
540 fbb_.AddOffset(Annotation::VT_NODES, nodes);
541 }
add_weightAnnotationBuilder542 void add_weight(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> weight) {
543 fbb_.AddOffset(Annotation::VT_WEIGHT, weight);
544 }
add_speedAnnotationBuilder545 void add_speed(flatbuffers::Offset<flatbuffers::Vector<float>> speed) {
546 fbb_.AddOffset(Annotation::VT_SPEED, speed);
547 }
add_metadataAnnotationBuilder548 void add_metadata(flatbuffers::Offset<osrm::engine::api::fbresult::Metadata> metadata) {
549 fbb_.AddOffset(Annotation::VT_METADATA, metadata);
550 }
AnnotationBuilderAnnotationBuilder551 explicit AnnotationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
552 : fbb_(_fbb) {
553 start_ = fbb_.StartTable();
554 }
555 AnnotationBuilder &operator=(const AnnotationBuilder &);
FinishAnnotationBuilder556 flatbuffers::Offset<Annotation> Finish() {
557 const auto end = fbb_.EndTable(start_);
558 auto o = flatbuffers::Offset<Annotation>(end);
559 return o;
560 }
561 };
562
563 inline flatbuffers::Offset<Annotation> CreateAnnotation(
564 flatbuffers::FlatBufferBuilder &_fbb,
565 flatbuffers::Offset<flatbuffers::Vector<uint32_t>> distance = 0,
566 flatbuffers::Offset<flatbuffers::Vector<uint32_t>> duration = 0,
567 flatbuffers::Offset<flatbuffers::Vector<uint32_t>> datasources = 0,
568 flatbuffers::Offset<flatbuffers::Vector<uint32_t>> nodes = 0,
569 flatbuffers::Offset<flatbuffers::Vector<uint32_t>> weight = 0,
570 flatbuffers::Offset<flatbuffers::Vector<float>> speed = 0,
571 flatbuffers::Offset<osrm::engine::api::fbresult::Metadata> metadata = 0) {
572 AnnotationBuilder builder_(_fbb);
573 builder_.add_metadata(metadata);
574 builder_.add_speed(speed);
575 builder_.add_weight(weight);
576 builder_.add_nodes(nodes);
577 builder_.add_datasources(datasources);
578 builder_.add_duration(duration);
579 builder_.add_distance(distance);
580 return builder_.Finish();
581 }
582
583 inline flatbuffers::Offset<Annotation> CreateAnnotationDirect(
584 flatbuffers::FlatBufferBuilder &_fbb,
585 const std::vector<uint32_t> *distance = nullptr,
586 const std::vector<uint32_t> *duration = nullptr,
587 const std::vector<uint32_t> *datasources = nullptr,
588 const std::vector<uint32_t> *nodes = nullptr,
589 const std::vector<uint32_t> *weight = nullptr,
590 const std::vector<float> *speed = nullptr,
591 flatbuffers::Offset<osrm::engine::api::fbresult::Metadata> metadata = 0) {
592 auto distance__ = distance ? _fbb.CreateVector<uint32_t>(*distance) : 0;
593 auto duration__ = duration ? _fbb.CreateVector<uint32_t>(*duration) : 0;
594 auto datasources__ = datasources ? _fbb.CreateVector<uint32_t>(*datasources) : 0;
595 auto nodes__ = nodes ? _fbb.CreateVector<uint32_t>(*nodes) : 0;
596 auto weight__ = weight ? _fbb.CreateVector<uint32_t>(*weight) : 0;
597 auto speed__ = speed ? _fbb.CreateVector<float>(*speed) : 0;
598 return osrm::engine::api::fbresult::CreateAnnotation(
599 _fbb,
600 distance__,
601 duration__,
602 datasources__,
603 nodes__,
604 weight__,
605 speed__,
606 metadata);
607 }
608
609 flatbuffers::Offset<Annotation> CreateAnnotation(flatbuffers::FlatBufferBuilder &_fbb, const AnnotationT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
610
611 struct StepManeuverT : public flatbuffers::NativeTable {
612 typedef StepManeuver TableType;
613 std::unique_ptr<osrm::engine::api::fbresult::Position> location;
614 uint16_t bearing_before;
615 uint16_t bearing_after;
616 osrm::engine::api::fbresult::ManeuverType type;
617 osrm::engine::api::fbresult::Turn modifier;
618 uint8_t exit;
StepManeuverTStepManeuverT619 StepManeuverT()
620 : bearing_before(0),
621 bearing_after(0),
622 type(osrm::engine::api::fbresult::ManeuverType_Turn),
623 modifier(osrm::engine::api::fbresult::Turn_None),
624 exit(0) {
625 }
626 };
627
628 struct StepManeuver FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
629 typedef StepManeuverT NativeTableType;
630 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
631 VT_LOCATION = 4,
632 VT_BEARING_BEFORE = 6,
633 VT_BEARING_AFTER = 8,
634 VT_TYPE = 10,
635 VT_MODIFIER = 12,
636 VT_EXIT = 14
637 };
locationFLATBUFFERS_FINAL_CLASS638 const osrm::engine::api::fbresult::Position *location() const {
639 return GetStruct<const osrm::engine::api::fbresult::Position *>(VT_LOCATION);
640 }
bearing_beforeFLATBUFFERS_FINAL_CLASS641 uint16_t bearing_before() const {
642 return GetField<uint16_t>(VT_BEARING_BEFORE, 0);
643 }
bearing_afterFLATBUFFERS_FINAL_CLASS644 uint16_t bearing_after() const {
645 return GetField<uint16_t>(VT_BEARING_AFTER, 0);
646 }
typeFLATBUFFERS_FINAL_CLASS647 osrm::engine::api::fbresult::ManeuverType type() const {
648 return static_cast<osrm::engine::api::fbresult::ManeuverType>(GetField<int8_t>(VT_TYPE, 0));
649 }
modifierFLATBUFFERS_FINAL_CLASS650 osrm::engine::api::fbresult::Turn modifier() const {
651 return static_cast<osrm::engine::api::fbresult::Turn>(GetField<int8_t>(VT_MODIFIER, 0));
652 }
exitFLATBUFFERS_FINAL_CLASS653 uint8_t exit() const {
654 return GetField<uint8_t>(VT_EXIT, 0);
655 }
VerifyFLATBUFFERS_FINAL_CLASS656 bool Verify(flatbuffers::Verifier &verifier) const {
657 return VerifyTableStart(verifier) &&
658 VerifyField<osrm::engine::api::fbresult::Position>(verifier, VT_LOCATION) &&
659 VerifyField<uint16_t>(verifier, VT_BEARING_BEFORE) &&
660 VerifyField<uint16_t>(verifier, VT_BEARING_AFTER) &&
661 VerifyField<int8_t>(verifier, VT_TYPE) &&
662 VerifyField<int8_t>(verifier, VT_MODIFIER) &&
663 VerifyField<uint8_t>(verifier, VT_EXIT) &&
664 verifier.EndTable();
665 }
666 StepManeuverT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
667 void UnPackTo(StepManeuverT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
668 static flatbuffers::Offset<StepManeuver> Pack(flatbuffers::FlatBufferBuilder &_fbb, const StepManeuverT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
669 };
670
671 struct StepManeuverBuilder {
672 flatbuffers::FlatBufferBuilder &fbb_;
673 flatbuffers::uoffset_t start_;
add_locationStepManeuverBuilder674 void add_location(const osrm::engine::api::fbresult::Position *location) {
675 fbb_.AddStruct(StepManeuver::VT_LOCATION, location);
676 }
add_bearing_beforeStepManeuverBuilder677 void add_bearing_before(uint16_t bearing_before) {
678 fbb_.AddElement<uint16_t>(StepManeuver::VT_BEARING_BEFORE, bearing_before, 0);
679 }
add_bearing_afterStepManeuverBuilder680 void add_bearing_after(uint16_t bearing_after) {
681 fbb_.AddElement<uint16_t>(StepManeuver::VT_BEARING_AFTER, bearing_after, 0);
682 }
add_typeStepManeuverBuilder683 void add_type(osrm::engine::api::fbresult::ManeuverType type) {
684 fbb_.AddElement<int8_t>(StepManeuver::VT_TYPE, static_cast<int8_t>(type), 0);
685 }
add_modifierStepManeuverBuilder686 void add_modifier(osrm::engine::api::fbresult::Turn modifier) {
687 fbb_.AddElement<int8_t>(StepManeuver::VT_MODIFIER, static_cast<int8_t>(modifier), 0);
688 }
add_exitStepManeuverBuilder689 void add_exit(uint8_t exit) {
690 fbb_.AddElement<uint8_t>(StepManeuver::VT_EXIT, exit, 0);
691 }
StepManeuverBuilderStepManeuverBuilder692 explicit StepManeuverBuilder(flatbuffers::FlatBufferBuilder &_fbb)
693 : fbb_(_fbb) {
694 start_ = fbb_.StartTable();
695 }
696 StepManeuverBuilder &operator=(const StepManeuverBuilder &);
FinishStepManeuverBuilder697 flatbuffers::Offset<StepManeuver> Finish() {
698 const auto end = fbb_.EndTable(start_);
699 auto o = flatbuffers::Offset<StepManeuver>(end);
700 return o;
701 }
702 };
703
704 inline flatbuffers::Offset<StepManeuver> CreateStepManeuver(
705 flatbuffers::FlatBufferBuilder &_fbb,
706 const osrm::engine::api::fbresult::Position *location = 0,
707 uint16_t bearing_before = 0,
708 uint16_t bearing_after = 0,
709 osrm::engine::api::fbresult::ManeuverType type = osrm::engine::api::fbresult::ManeuverType_Turn,
710 osrm::engine::api::fbresult::Turn modifier = osrm::engine::api::fbresult::Turn_None,
711 uint8_t exit = 0) {
712 StepManeuverBuilder builder_(_fbb);
713 builder_.add_location(location);
714 builder_.add_bearing_after(bearing_after);
715 builder_.add_bearing_before(bearing_before);
716 builder_.add_exit(exit);
717 builder_.add_modifier(modifier);
718 builder_.add_type(type);
719 return builder_.Finish();
720 }
721
722 flatbuffers::Offset<StepManeuver> CreateStepManeuver(flatbuffers::FlatBufferBuilder &_fbb, const StepManeuverT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
723
724 struct LaneT : public flatbuffers::NativeTable {
725 typedef Lane TableType;
726 std::vector<osrm::engine::api::fbresult::Turn> indications;
727 bool valid;
LaneTLaneT728 LaneT()
729 : valid(false) {
730 }
731 };
732
733 struct Lane FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
734 typedef LaneT NativeTableType;
735 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
736 VT_INDICATIONS = 4,
737 VT_VALID = 6
738 };
indicationsFLATBUFFERS_FINAL_CLASS739 const flatbuffers::Vector<int8_t> *indications() const {
740 return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_INDICATIONS);
741 }
validFLATBUFFERS_FINAL_CLASS742 bool valid() const {
743 return GetField<uint8_t>(VT_VALID, 0) != 0;
744 }
VerifyFLATBUFFERS_FINAL_CLASS745 bool Verify(flatbuffers::Verifier &verifier) const {
746 return VerifyTableStart(verifier) &&
747 VerifyOffset(verifier, VT_INDICATIONS) &&
748 verifier.VerifyVector(indications()) &&
749 VerifyField<uint8_t>(verifier, VT_VALID) &&
750 verifier.EndTable();
751 }
752 LaneT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
753 void UnPackTo(LaneT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
754 static flatbuffers::Offset<Lane> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LaneT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
755 };
756
757 struct LaneBuilder {
758 flatbuffers::FlatBufferBuilder &fbb_;
759 flatbuffers::uoffset_t start_;
add_indicationsLaneBuilder760 void add_indications(flatbuffers::Offset<flatbuffers::Vector<int8_t>> indications) {
761 fbb_.AddOffset(Lane::VT_INDICATIONS, indications);
762 }
add_validLaneBuilder763 void add_valid(bool valid) {
764 fbb_.AddElement<uint8_t>(Lane::VT_VALID, static_cast<uint8_t>(valid), 0);
765 }
LaneBuilderLaneBuilder766 explicit LaneBuilder(flatbuffers::FlatBufferBuilder &_fbb)
767 : fbb_(_fbb) {
768 start_ = fbb_.StartTable();
769 }
770 LaneBuilder &operator=(const LaneBuilder &);
FinishLaneBuilder771 flatbuffers::Offset<Lane> Finish() {
772 const auto end = fbb_.EndTable(start_);
773 auto o = flatbuffers::Offset<Lane>(end);
774 return o;
775 }
776 };
777
778 inline flatbuffers::Offset<Lane> CreateLane(
779 flatbuffers::FlatBufferBuilder &_fbb,
780 flatbuffers::Offset<flatbuffers::Vector<int8_t>> indications = 0,
781 bool valid = false) {
782 LaneBuilder builder_(_fbb);
783 builder_.add_indications(indications);
784 builder_.add_valid(valid);
785 return builder_.Finish();
786 }
787
788 inline flatbuffers::Offset<Lane> CreateLaneDirect(
789 flatbuffers::FlatBufferBuilder &_fbb,
790 const std::vector<int8_t> *indications = nullptr,
791 bool valid = false) {
792 auto indications__ = indications ? _fbb.CreateVector<int8_t>(*indications) : 0;
793 return osrm::engine::api::fbresult::CreateLane(
794 _fbb,
795 indications__,
796 valid);
797 }
798
799 flatbuffers::Offset<Lane> CreateLane(flatbuffers::FlatBufferBuilder &_fbb, const LaneT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
800
801 struct IntersectionT : public flatbuffers::NativeTable {
802 typedef Intersection TableType;
803 std::unique_ptr<osrm::engine::api::fbresult::Position> location;
804 std::vector<int16_t> bearings;
805 std::vector<std::string> classes;
806 std::vector<bool> entry;
807 uint32_t in_bearing;
808 uint32_t out_bearing;
809 std::vector<std::unique_ptr<osrm::engine::api::fbresult::LaneT>> lanes;
IntersectionTIntersectionT810 IntersectionT()
811 : in_bearing(0),
812 out_bearing(0) {
813 }
814 };
815
816 struct Intersection FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
817 typedef IntersectionT NativeTableType;
818 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
819 VT_LOCATION = 4,
820 VT_BEARINGS = 6,
821 VT_CLASSES = 8,
822 VT_ENTRY = 10,
823 VT_IN_BEARING = 12,
824 VT_OUT_BEARING = 14,
825 VT_LANES = 16
826 };
locationFLATBUFFERS_FINAL_CLASS827 const osrm::engine::api::fbresult::Position *location() const {
828 return GetStruct<const osrm::engine::api::fbresult::Position *>(VT_LOCATION);
829 }
bearingsFLATBUFFERS_FINAL_CLASS830 const flatbuffers::Vector<int16_t> *bearings() const {
831 return GetPointer<const flatbuffers::Vector<int16_t> *>(VT_BEARINGS);
832 }
classesFLATBUFFERS_FINAL_CLASS833 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *classes() const {
834 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_CLASSES);
835 }
entryFLATBUFFERS_FINAL_CLASS836 const flatbuffers::Vector<uint8_t> *entry() const {
837 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_ENTRY);
838 }
in_bearingFLATBUFFERS_FINAL_CLASS839 uint32_t in_bearing() const {
840 return GetField<uint32_t>(VT_IN_BEARING, 0);
841 }
out_bearingFLATBUFFERS_FINAL_CLASS842 uint32_t out_bearing() const {
843 return GetField<uint32_t>(VT_OUT_BEARING, 0);
844 }
lanesFLATBUFFERS_FINAL_CLASS845 const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Lane>> *lanes() const {
846 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Lane>> *>(VT_LANES);
847 }
VerifyFLATBUFFERS_FINAL_CLASS848 bool Verify(flatbuffers::Verifier &verifier) const {
849 return VerifyTableStart(verifier) &&
850 VerifyField<osrm::engine::api::fbresult::Position>(verifier, VT_LOCATION) &&
851 VerifyOffset(verifier, VT_BEARINGS) &&
852 verifier.VerifyVector(bearings()) &&
853 VerifyOffset(verifier, VT_CLASSES) &&
854 verifier.VerifyVector(classes()) &&
855 verifier.VerifyVectorOfStrings(classes()) &&
856 VerifyOffset(verifier, VT_ENTRY) &&
857 verifier.VerifyVector(entry()) &&
858 VerifyField<uint32_t>(verifier, VT_IN_BEARING) &&
859 VerifyField<uint32_t>(verifier, VT_OUT_BEARING) &&
860 VerifyOffset(verifier, VT_LANES) &&
861 verifier.VerifyVector(lanes()) &&
862 verifier.VerifyVectorOfTables(lanes()) &&
863 verifier.EndTable();
864 }
865 IntersectionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
866 void UnPackTo(IntersectionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
867 static flatbuffers::Offset<Intersection> Pack(flatbuffers::FlatBufferBuilder &_fbb, const IntersectionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
868 };
869
870 struct IntersectionBuilder {
871 flatbuffers::FlatBufferBuilder &fbb_;
872 flatbuffers::uoffset_t start_;
add_locationIntersectionBuilder873 void add_location(const osrm::engine::api::fbresult::Position *location) {
874 fbb_.AddStruct(Intersection::VT_LOCATION, location);
875 }
add_bearingsIntersectionBuilder876 void add_bearings(flatbuffers::Offset<flatbuffers::Vector<int16_t>> bearings) {
877 fbb_.AddOffset(Intersection::VT_BEARINGS, bearings);
878 }
add_classesIntersectionBuilder879 void add_classes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> classes) {
880 fbb_.AddOffset(Intersection::VT_CLASSES, classes);
881 }
add_entryIntersectionBuilder882 void add_entry(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> entry) {
883 fbb_.AddOffset(Intersection::VT_ENTRY, entry);
884 }
add_in_bearingIntersectionBuilder885 void add_in_bearing(uint32_t in_bearing) {
886 fbb_.AddElement<uint32_t>(Intersection::VT_IN_BEARING, in_bearing, 0);
887 }
add_out_bearingIntersectionBuilder888 void add_out_bearing(uint32_t out_bearing) {
889 fbb_.AddElement<uint32_t>(Intersection::VT_OUT_BEARING, out_bearing, 0);
890 }
add_lanesIntersectionBuilder891 void add_lanes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Lane>>> lanes) {
892 fbb_.AddOffset(Intersection::VT_LANES, lanes);
893 }
IntersectionBuilderIntersectionBuilder894 explicit IntersectionBuilder(flatbuffers::FlatBufferBuilder &_fbb)
895 : fbb_(_fbb) {
896 start_ = fbb_.StartTable();
897 }
898 IntersectionBuilder &operator=(const IntersectionBuilder &);
FinishIntersectionBuilder899 flatbuffers::Offset<Intersection> Finish() {
900 const auto end = fbb_.EndTable(start_);
901 auto o = flatbuffers::Offset<Intersection>(end);
902 return o;
903 }
904 };
905
906 inline flatbuffers::Offset<Intersection> CreateIntersection(
907 flatbuffers::FlatBufferBuilder &_fbb,
908 const osrm::engine::api::fbresult::Position *location = 0,
909 flatbuffers::Offset<flatbuffers::Vector<int16_t>> bearings = 0,
910 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> classes = 0,
911 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> entry = 0,
912 uint32_t in_bearing = 0,
913 uint32_t out_bearing = 0,
914 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Lane>>> lanes = 0) {
915 IntersectionBuilder builder_(_fbb);
916 builder_.add_lanes(lanes);
917 builder_.add_out_bearing(out_bearing);
918 builder_.add_in_bearing(in_bearing);
919 builder_.add_entry(entry);
920 builder_.add_classes(classes);
921 builder_.add_bearings(bearings);
922 builder_.add_location(location);
923 return builder_.Finish();
924 }
925
926 inline flatbuffers::Offset<Intersection> CreateIntersectionDirect(
927 flatbuffers::FlatBufferBuilder &_fbb,
928 const osrm::engine::api::fbresult::Position *location = 0,
929 const std::vector<int16_t> *bearings = nullptr,
930 const std::vector<flatbuffers::Offset<flatbuffers::String>> *classes = nullptr,
931 const std::vector<uint8_t> *entry = nullptr,
932 uint32_t in_bearing = 0,
933 uint32_t out_bearing = 0,
934 const std::vector<flatbuffers::Offset<osrm::engine::api::fbresult::Lane>> *lanes = nullptr) {
935 auto bearings__ = bearings ? _fbb.CreateVector<int16_t>(*bearings) : 0;
936 auto classes__ = classes ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*classes) : 0;
937 auto entry__ = entry ? _fbb.CreateVector<uint8_t>(*entry) : 0;
938 auto lanes__ = lanes ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Lane>>(*lanes) : 0;
939 return osrm::engine::api::fbresult::CreateIntersection(
940 _fbb,
941 location,
942 bearings__,
943 classes__,
944 entry__,
945 in_bearing,
946 out_bearing,
947 lanes__);
948 }
949
950 flatbuffers::Offset<Intersection> CreateIntersection(flatbuffers::FlatBufferBuilder &_fbb, const IntersectionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
951
952 struct StepT : public flatbuffers::NativeTable {
953 typedef Step TableType;
954 float distance;
955 float duration;
956 std::string polyline;
957 std::vector<osrm::engine::api::fbresult::Position> coordinates;
958 float weight;
959 std::string name;
960 std::string ref;
961 std::string pronunciation;
962 std::string destinations;
963 std::string exits;
964 std::string mode;
965 std::unique_ptr<osrm::engine::api::fbresult::StepManeuverT> maneuver;
966 std::vector<std::unique_ptr<osrm::engine::api::fbresult::IntersectionT>> intersections;
967 std::string rotary_name;
968 std::string rotary_pronunciation;
969 bool driving_side;
StepTStepT970 StepT()
971 : distance(0.0f),
972 duration(0.0f),
973 weight(0.0f),
974 driving_side(false) {
975 }
976 };
977
978 struct Step FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
979 typedef StepT NativeTableType;
980 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
981 VT_DISTANCE = 4,
982 VT_DURATION = 6,
983 VT_POLYLINE = 8,
984 VT_COORDINATES = 10,
985 VT_WEIGHT = 12,
986 VT_NAME = 14,
987 VT_REF = 16,
988 VT_PRONUNCIATION = 18,
989 VT_DESTINATIONS = 20,
990 VT_EXITS = 22,
991 VT_MODE = 24,
992 VT_MANEUVER = 26,
993 VT_INTERSECTIONS = 28,
994 VT_ROTARY_NAME = 30,
995 VT_ROTARY_PRONUNCIATION = 32,
996 VT_DRIVING_SIDE = 34
997 };
distanceFLATBUFFERS_FINAL_CLASS998 float distance() const {
999 return GetField<float>(VT_DISTANCE, 0.0f);
1000 }
durationFLATBUFFERS_FINAL_CLASS1001 float duration() const {
1002 return GetField<float>(VT_DURATION, 0.0f);
1003 }
polylineFLATBUFFERS_FINAL_CLASS1004 const flatbuffers::String *polyline() const {
1005 return GetPointer<const flatbuffers::String *>(VT_POLYLINE);
1006 }
coordinatesFLATBUFFERS_FINAL_CLASS1007 const flatbuffers::Vector<const osrm::engine::api::fbresult::Position *> *coordinates() const {
1008 return GetPointer<const flatbuffers::Vector<const osrm::engine::api::fbresult::Position *> *>(VT_COORDINATES);
1009 }
weightFLATBUFFERS_FINAL_CLASS1010 float weight() const {
1011 return GetField<float>(VT_WEIGHT, 0.0f);
1012 }
nameFLATBUFFERS_FINAL_CLASS1013 const flatbuffers::String *name() const {
1014 return GetPointer<const flatbuffers::String *>(VT_NAME);
1015 }
refFLATBUFFERS_FINAL_CLASS1016 const flatbuffers::String *ref() const {
1017 return GetPointer<const flatbuffers::String *>(VT_REF);
1018 }
pronunciationFLATBUFFERS_FINAL_CLASS1019 const flatbuffers::String *pronunciation() const {
1020 return GetPointer<const flatbuffers::String *>(VT_PRONUNCIATION);
1021 }
destinationsFLATBUFFERS_FINAL_CLASS1022 const flatbuffers::String *destinations() const {
1023 return GetPointer<const flatbuffers::String *>(VT_DESTINATIONS);
1024 }
exitsFLATBUFFERS_FINAL_CLASS1025 const flatbuffers::String *exits() const {
1026 return GetPointer<const flatbuffers::String *>(VT_EXITS);
1027 }
modeFLATBUFFERS_FINAL_CLASS1028 const flatbuffers::String *mode() const {
1029 return GetPointer<const flatbuffers::String *>(VT_MODE);
1030 }
maneuverFLATBUFFERS_FINAL_CLASS1031 const osrm::engine::api::fbresult::StepManeuver *maneuver() const {
1032 return GetPointer<const osrm::engine::api::fbresult::StepManeuver *>(VT_MANEUVER);
1033 }
intersectionsFLATBUFFERS_FINAL_CLASS1034 const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Intersection>> *intersections() const {
1035 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Intersection>> *>(VT_INTERSECTIONS);
1036 }
rotary_nameFLATBUFFERS_FINAL_CLASS1037 const flatbuffers::String *rotary_name() const {
1038 return GetPointer<const flatbuffers::String *>(VT_ROTARY_NAME);
1039 }
rotary_pronunciationFLATBUFFERS_FINAL_CLASS1040 const flatbuffers::String *rotary_pronunciation() const {
1041 return GetPointer<const flatbuffers::String *>(VT_ROTARY_PRONUNCIATION);
1042 }
driving_sideFLATBUFFERS_FINAL_CLASS1043 bool driving_side() const {
1044 return GetField<uint8_t>(VT_DRIVING_SIDE, 0) != 0;
1045 }
VerifyFLATBUFFERS_FINAL_CLASS1046 bool Verify(flatbuffers::Verifier &verifier) const {
1047 return VerifyTableStart(verifier) &&
1048 VerifyField<float>(verifier, VT_DISTANCE) &&
1049 VerifyField<float>(verifier, VT_DURATION) &&
1050 VerifyOffset(verifier, VT_POLYLINE) &&
1051 verifier.VerifyString(polyline()) &&
1052 VerifyOffset(verifier, VT_COORDINATES) &&
1053 verifier.VerifyVector(coordinates()) &&
1054 VerifyField<float>(verifier, VT_WEIGHT) &&
1055 VerifyOffset(verifier, VT_NAME) &&
1056 verifier.VerifyString(name()) &&
1057 VerifyOffset(verifier, VT_REF) &&
1058 verifier.VerifyString(ref()) &&
1059 VerifyOffset(verifier, VT_PRONUNCIATION) &&
1060 verifier.VerifyString(pronunciation()) &&
1061 VerifyOffset(verifier, VT_DESTINATIONS) &&
1062 verifier.VerifyString(destinations()) &&
1063 VerifyOffset(verifier, VT_EXITS) &&
1064 verifier.VerifyString(exits()) &&
1065 VerifyOffset(verifier, VT_MODE) &&
1066 verifier.VerifyString(mode()) &&
1067 VerifyOffset(verifier, VT_MANEUVER) &&
1068 verifier.VerifyTable(maneuver()) &&
1069 VerifyOffset(verifier, VT_INTERSECTIONS) &&
1070 verifier.VerifyVector(intersections()) &&
1071 verifier.VerifyVectorOfTables(intersections()) &&
1072 VerifyOffset(verifier, VT_ROTARY_NAME) &&
1073 verifier.VerifyString(rotary_name()) &&
1074 VerifyOffset(verifier, VT_ROTARY_PRONUNCIATION) &&
1075 verifier.VerifyString(rotary_pronunciation()) &&
1076 VerifyField<uint8_t>(verifier, VT_DRIVING_SIDE) &&
1077 verifier.EndTable();
1078 }
1079 StepT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1080 void UnPackTo(StepT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1081 static flatbuffers::Offset<Step> Pack(flatbuffers::FlatBufferBuilder &_fbb, const StepT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1082 };
1083
1084 struct StepBuilder {
1085 flatbuffers::FlatBufferBuilder &fbb_;
1086 flatbuffers::uoffset_t start_;
add_distanceStepBuilder1087 void add_distance(float distance) {
1088 fbb_.AddElement<float>(Step::VT_DISTANCE, distance, 0.0f);
1089 }
add_durationStepBuilder1090 void add_duration(float duration) {
1091 fbb_.AddElement<float>(Step::VT_DURATION, duration, 0.0f);
1092 }
add_polylineStepBuilder1093 void add_polyline(flatbuffers::Offset<flatbuffers::String> polyline) {
1094 fbb_.AddOffset(Step::VT_POLYLINE, polyline);
1095 }
add_coordinatesStepBuilder1096 void add_coordinates(flatbuffers::Offset<flatbuffers::Vector<const osrm::engine::api::fbresult::Position *>> coordinates) {
1097 fbb_.AddOffset(Step::VT_COORDINATES, coordinates);
1098 }
add_weightStepBuilder1099 void add_weight(float weight) {
1100 fbb_.AddElement<float>(Step::VT_WEIGHT, weight, 0.0f);
1101 }
add_nameStepBuilder1102 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
1103 fbb_.AddOffset(Step::VT_NAME, name);
1104 }
add_refStepBuilder1105 void add_ref(flatbuffers::Offset<flatbuffers::String> ref) {
1106 fbb_.AddOffset(Step::VT_REF, ref);
1107 }
add_pronunciationStepBuilder1108 void add_pronunciation(flatbuffers::Offset<flatbuffers::String> pronunciation) {
1109 fbb_.AddOffset(Step::VT_PRONUNCIATION, pronunciation);
1110 }
add_destinationsStepBuilder1111 void add_destinations(flatbuffers::Offset<flatbuffers::String> destinations) {
1112 fbb_.AddOffset(Step::VT_DESTINATIONS, destinations);
1113 }
add_exitsStepBuilder1114 void add_exits(flatbuffers::Offset<flatbuffers::String> exits) {
1115 fbb_.AddOffset(Step::VT_EXITS, exits);
1116 }
add_modeStepBuilder1117 void add_mode(flatbuffers::Offset<flatbuffers::String> mode) {
1118 fbb_.AddOffset(Step::VT_MODE, mode);
1119 }
add_maneuverStepBuilder1120 void add_maneuver(flatbuffers::Offset<osrm::engine::api::fbresult::StepManeuver> maneuver) {
1121 fbb_.AddOffset(Step::VT_MANEUVER, maneuver);
1122 }
add_intersectionsStepBuilder1123 void add_intersections(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Intersection>>> intersections) {
1124 fbb_.AddOffset(Step::VT_INTERSECTIONS, intersections);
1125 }
add_rotary_nameStepBuilder1126 void add_rotary_name(flatbuffers::Offset<flatbuffers::String> rotary_name) {
1127 fbb_.AddOffset(Step::VT_ROTARY_NAME, rotary_name);
1128 }
add_rotary_pronunciationStepBuilder1129 void add_rotary_pronunciation(flatbuffers::Offset<flatbuffers::String> rotary_pronunciation) {
1130 fbb_.AddOffset(Step::VT_ROTARY_PRONUNCIATION, rotary_pronunciation);
1131 }
add_driving_sideStepBuilder1132 void add_driving_side(bool driving_side) {
1133 fbb_.AddElement<uint8_t>(Step::VT_DRIVING_SIDE, static_cast<uint8_t>(driving_side), 0);
1134 }
StepBuilderStepBuilder1135 explicit StepBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1136 : fbb_(_fbb) {
1137 start_ = fbb_.StartTable();
1138 }
1139 StepBuilder &operator=(const StepBuilder &);
FinishStepBuilder1140 flatbuffers::Offset<Step> Finish() {
1141 const auto end = fbb_.EndTable(start_);
1142 auto o = flatbuffers::Offset<Step>(end);
1143 return o;
1144 }
1145 };
1146
1147 inline flatbuffers::Offset<Step> CreateStep(
1148 flatbuffers::FlatBufferBuilder &_fbb,
1149 float distance = 0.0f,
1150 float duration = 0.0f,
1151 flatbuffers::Offset<flatbuffers::String> polyline = 0,
1152 flatbuffers::Offset<flatbuffers::Vector<const osrm::engine::api::fbresult::Position *>> coordinates = 0,
1153 float weight = 0.0f,
1154 flatbuffers::Offset<flatbuffers::String> name = 0,
1155 flatbuffers::Offset<flatbuffers::String> ref = 0,
1156 flatbuffers::Offset<flatbuffers::String> pronunciation = 0,
1157 flatbuffers::Offset<flatbuffers::String> destinations = 0,
1158 flatbuffers::Offset<flatbuffers::String> exits = 0,
1159 flatbuffers::Offset<flatbuffers::String> mode = 0,
1160 flatbuffers::Offset<osrm::engine::api::fbresult::StepManeuver> maneuver = 0,
1161 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Intersection>>> intersections = 0,
1162 flatbuffers::Offset<flatbuffers::String> rotary_name = 0,
1163 flatbuffers::Offset<flatbuffers::String> rotary_pronunciation = 0,
1164 bool driving_side = false) {
1165 StepBuilder builder_(_fbb);
1166 builder_.add_rotary_pronunciation(rotary_pronunciation);
1167 builder_.add_rotary_name(rotary_name);
1168 builder_.add_intersections(intersections);
1169 builder_.add_maneuver(maneuver);
1170 builder_.add_mode(mode);
1171 builder_.add_exits(exits);
1172 builder_.add_destinations(destinations);
1173 builder_.add_pronunciation(pronunciation);
1174 builder_.add_ref(ref);
1175 builder_.add_name(name);
1176 builder_.add_weight(weight);
1177 builder_.add_coordinates(coordinates);
1178 builder_.add_polyline(polyline);
1179 builder_.add_duration(duration);
1180 builder_.add_distance(distance);
1181 builder_.add_driving_side(driving_side);
1182 return builder_.Finish();
1183 }
1184
1185 inline flatbuffers::Offset<Step> CreateStepDirect(
1186 flatbuffers::FlatBufferBuilder &_fbb,
1187 float distance = 0.0f,
1188 float duration = 0.0f,
1189 const char *polyline = nullptr,
1190 const std::vector<osrm::engine::api::fbresult::Position> *coordinates = nullptr,
1191 float weight = 0.0f,
1192 const char *name = nullptr,
1193 const char *ref = nullptr,
1194 const char *pronunciation = nullptr,
1195 const char *destinations = nullptr,
1196 const char *exits = nullptr,
1197 const char *mode = nullptr,
1198 flatbuffers::Offset<osrm::engine::api::fbresult::StepManeuver> maneuver = 0,
1199 const std::vector<flatbuffers::Offset<osrm::engine::api::fbresult::Intersection>> *intersections = nullptr,
1200 const char *rotary_name = nullptr,
1201 const char *rotary_pronunciation = nullptr,
1202 bool driving_side = false) {
1203 auto polyline__ = polyline ? _fbb.CreateString(polyline) : 0;
1204 auto coordinates__ = coordinates ? _fbb.CreateVectorOfStructs<osrm::engine::api::fbresult::Position>(*coordinates) : 0;
1205 auto name__ = name ? _fbb.CreateString(name) : 0;
1206 auto ref__ = ref ? _fbb.CreateString(ref) : 0;
1207 auto pronunciation__ = pronunciation ? _fbb.CreateString(pronunciation) : 0;
1208 auto destinations__ = destinations ? _fbb.CreateString(destinations) : 0;
1209 auto exits__ = exits ? _fbb.CreateString(exits) : 0;
1210 auto mode__ = mode ? _fbb.CreateString(mode) : 0;
1211 auto intersections__ = intersections ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Intersection>>(*intersections) : 0;
1212 auto rotary_name__ = rotary_name ? _fbb.CreateString(rotary_name) : 0;
1213 auto rotary_pronunciation__ = rotary_pronunciation ? _fbb.CreateString(rotary_pronunciation) : 0;
1214 return osrm::engine::api::fbresult::CreateStep(
1215 _fbb,
1216 distance,
1217 duration,
1218 polyline__,
1219 coordinates__,
1220 weight,
1221 name__,
1222 ref__,
1223 pronunciation__,
1224 destinations__,
1225 exits__,
1226 mode__,
1227 maneuver,
1228 intersections__,
1229 rotary_name__,
1230 rotary_pronunciation__,
1231 driving_side);
1232 }
1233
1234 flatbuffers::Offset<Step> CreateStep(flatbuffers::FlatBufferBuilder &_fbb, const StepT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1235
1236 struct LegT : public flatbuffers::NativeTable {
1237 typedef Leg TableType;
1238 double distance;
1239 double duration;
1240 double weight;
1241 std::string summary;
1242 std::unique_ptr<osrm::engine::api::fbresult::AnnotationT> annotations;
1243 std::vector<std::unique_ptr<osrm::engine::api::fbresult::StepT>> steps;
LegTLegT1244 LegT()
1245 : distance(0.0),
1246 duration(0.0),
1247 weight(0.0) {
1248 }
1249 };
1250
1251 struct Leg FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1252 typedef LegT NativeTableType;
1253 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1254 VT_DISTANCE = 4,
1255 VT_DURATION = 6,
1256 VT_WEIGHT = 8,
1257 VT_SUMMARY = 10,
1258 VT_ANNOTATIONS = 12,
1259 VT_STEPS = 14
1260 };
distanceFLATBUFFERS_FINAL_CLASS1261 double distance() const {
1262 return GetField<double>(VT_DISTANCE, 0.0);
1263 }
durationFLATBUFFERS_FINAL_CLASS1264 double duration() const {
1265 return GetField<double>(VT_DURATION, 0.0);
1266 }
weightFLATBUFFERS_FINAL_CLASS1267 double weight() const {
1268 return GetField<double>(VT_WEIGHT, 0.0);
1269 }
summaryFLATBUFFERS_FINAL_CLASS1270 const flatbuffers::String *summary() const {
1271 return GetPointer<const flatbuffers::String *>(VT_SUMMARY);
1272 }
annotationsFLATBUFFERS_FINAL_CLASS1273 const osrm::engine::api::fbresult::Annotation *annotations() const {
1274 return GetPointer<const osrm::engine::api::fbresult::Annotation *>(VT_ANNOTATIONS);
1275 }
stepsFLATBUFFERS_FINAL_CLASS1276 const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Step>> *steps() const {
1277 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Step>> *>(VT_STEPS);
1278 }
VerifyFLATBUFFERS_FINAL_CLASS1279 bool Verify(flatbuffers::Verifier &verifier) const {
1280 return VerifyTableStart(verifier) &&
1281 VerifyField<double>(verifier, VT_DISTANCE) &&
1282 VerifyField<double>(verifier, VT_DURATION) &&
1283 VerifyField<double>(verifier, VT_WEIGHT) &&
1284 VerifyOffset(verifier, VT_SUMMARY) &&
1285 verifier.VerifyString(summary()) &&
1286 VerifyOffset(verifier, VT_ANNOTATIONS) &&
1287 verifier.VerifyTable(annotations()) &&
1288 VerifyOffset(verifier, VT_STEPS) &&
1289 verifier.VerifyVector(steps()) &&
1290 verifier.VerifyVectorOfTables(steps()) &&
1291 verifier.EndTable();
1292 }
1293 LegT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1294 void UnPackTo(LegT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1295 static flatbuffers::Offset<Leg> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LegT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1296 };
1297
1298 struct LegBuilder {
1299 flatbuffers::FlatBufferBuilder &fbb_;
1300 flatbuffers::uoffset_t start_;
add_distanceLegBuilder1301 void add_distance(double distance) {
1302 fbb_.AddElement<double>(Leg::VT_DISTANCE, distance, 0.0);
1303 }
add_durationLegBuilder1304 void add_duration(double duration) {
1305 fbb_.AddElement<double>(Leg::VT_DURATION, duration, 0.0);
1306 }
add_weightLegBuilder1307 void add_weight(double weight) {
1308 fbb_.AddElement<double>(Leg::VT_WEIGHT, weight, 0.0);
1309 }
add_summaryLegBuilder1310 void add_summary(flatbuffers::Offset<flatbuffers::String> summary) {
1311 fbb_.AddOffset(Leg::VT_SUMMARY, summary);
1312 }
add_annotationsLegBuilder1313 void add_annotations(flatbuffers::Offset<osrm::engine::api::fbresult::Annotation> annotations) {
1314 fbb_.AddOffset(Leg::VT_ANNOTATIONS, annotations);
1315 }
add_stepsLegBuilder1316 void add_steps(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Step>>> steps) {
1317 fbb_.AddOffset(Leg::VT_STEPS, steps);
1318 }
LegBuilderLegBuilder1319 explicit LegBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1320 : fbb_(_fbb) {
1321 start_ = fbb_.StartTable();
1322 }
1323 LegBuilder &operator=(const LegBuilder &);
FinishLegBuilder1324 flatbuffers::Offset<Leg> Finish() {
1325 const auto end = fbb_.EndTable(start_);
1326 auto o = flatbuffers::Offset<Leg>(end);
1327 return o;
1328 }
1329 };
1330
1331 inline flatbuffers::Offset<Leg> CreateLeg(
1332 flatbuffers::FlatBufferBuilder &_fbb,
1333 double distance = 0.0,
1334 double duration = 0.0,
1335 double weight = 0.0,
1336 flatbuffers::Offset<flatbuffers::String> summary = 0,
1337 flatbuffers::Offset<osrm::engine::api::fbresult::Annotation> annotations = 0,
1338 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Step>>> steps = 0) {
1339 LegBuilder builder_(_fbb);
1340 builder_.add_weight(weight);
1341 builder_.add_duration(duration);
1342 builder_.add_distance(distance);
1343 builder_.add_steps(steps);
1344 builder_.add_annotations(annotations);
1345 builder_.add_summary(summary);
1346 return builder_.Finish();
1347 }
1348
1349 inline flatbuffers::Offset<Leg> CreateLegDirect(
1350 flatbuffers::FlatBufferBuilder &_fbb,
1351 double distance = 0.0,
1352 double duration = 0.0,
1353 double weight = 0.0,
1354 const char *summary = nullptr,
1355 flatbuffers::Offset<osrm::engine::api::fbresult::Annotation> annotations = 0,
1356 const std::vector<flatbuffers::Offset<osrm::engine::api::fbresult::Step>> *steps = nullptr) {
1357 auto summary__ = summary ? _fbb.CreateString(summary) : 0;
1358 auto steps__ = steps ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Step>>(*steps) : 0;
1359 return osrm::engine::api::fbresult::CreateLeg(
1360 _fbb,
1361 distance,
1362 duration,
1363 weight,
1364 summary__,
1365 annotations,
1366 steps__);
1367 }
1368
1369 flatbuffers::Offset<Leg> CreateLeg(flatbuffers::FlatBufferBuilder &_fbb, const LegT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1370
1371 struct RouteObjectT : public flatbuffers::NativeTable {
1372 typedef RouteObject TableType;
1373 float distance;
1374 float duration;
1375 float weight;
1376 std::string weight_name;
1377 float confidence;
1378 std::string polyline;
1379 std::vector<osrm::engine::api::fbresult::Position> coordinates;
1380 std::vector<std::unique_ptr<osrm::engine::api::fbresult::LegT>> legs;
RouteObjectTRouteObjectT1381 RouteObjectT()
1382 : distance(0.0f),
1383 duration(0.0f),
1384 weight(0.0f),
1385 confidence(0.0f) {
1386 }
1387 };
1388
1389 struct RouteObject FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1390 typedef RouteObjectT NativeTableType;
1391 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1392 VT_DISTANCE = 4,
1393 VT_DURATION = 6,
1394 VT_WEIGHT = 8,
1395 VT_WEIGHT_NAME = 10,
1396 VT_CONFIDENCE = 12,
1397 VT_POLYLINE = 14,
1398 VT_COORDINATES = 16,
1399 VT_LEGS = 18
1400 };
distanceFLATBUFFERS_FINAL_CLASS1401 float distance() const {
1402 return GetField<float>(VT_DISTANCE, 0.0f);
1403 }
durationFLATBUFFERS_FINAL_CLASS1404 float duration() const {
1405 return GetField<float>(VT_DURATION, 0.0f);
1406 }
weightFLATBUFFERS_FINAL_CLASS1407 float weight() const {
1408 return GetField<float>(VT_WEIGHT, 0.0f);
1409 }
weight_nameFLATBUFFERS_FINAL_CLASS1410 const flatbuffers::String *weight_name() const {
1411 return GetPointer<const flatbuffers::String *>(VT_WEIGHT_NAME);
1412 }
confidenceFLATBUFFERS_FINAL_CLASS1413 float confidence() const {
1414 return GetField<float>(VT_CONFIDENCE, 0.0f);
1415 }
polylineFLATBUFFERS_FINAL_CLASS1416 const flatbuffers::String *polyline() const {
1417 return GetPointer<const flatbuffers::String *>(VT_POLYLINE);
1418 }
coordinatesFLATBUFFERS_FINAL_CLASS1419 const flatbuffers::Vector<const osrm::engine::api::fbresult::Position *> *coordinates() const {
1420 return GetPointer<const flatbuffers::Vector<const osrm::engine::api::fbresult::Position *> *>(VT_COORDINATES);
1421 }
legsFLATBUFFERS_FINAL_CLASS1422 const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Leg>> *legs() const {
1423 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Leg>> *>(VT_LEGS);
1424 }
VerifyFLATBUFFERS_FINAL_CLASS1425 bool Verify(flatbuffers::Verifier &verifier) const {
1426 return VerifyTableStart(verifier) &&
1427 VerifyField<float>(verifier, VT_DISTANCE) &&
1428 VerifyField<float>(verifier, VT_DURATION) &&
1429 VerifyField<float>(verifier, VT_WEIGHT) &&
1430 VerifyOffset(verifier, VT_WEIGHT_NAME) &&
1431 verifier.VerifyString(weight_name()) &&
1432 VerifyField<float>(verifier, VT_CONFIDENCE) &&
1433 VerifyOffset(verifier, VT_POLYLINE) &&
1434 verifier.VerifyString(polyline()) &&
1435 VerifyOffset(verifier, VT_COORDINATES) &&
1436 verifier.VerifyVector(coordinates()) &&
1437 VerifyOffset(verifier, VT_LEGS) &&
1438 verifier.VerifyVector(legs()) &&
1439 verifier.VerifyVectorOfTables(legs()) &&
1440 verifier.EndTable();
1441 }
1442 RouteObjectT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1443 void UnPackTo(RouteObjectT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1444 static flatbuffers::Offset<RouteObject> Pack(flatbuffers::FlatBufferBuilder &_fbb, const RouteObjectT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1445 };
1446
1447 struct RouteObjectBuilder {
1448 flatbuffers::FlatBufferBuilder &fbb_;
1449 flatbuffers::uoffset_t start_;
add_distanceRouteObjectBuilder1450 void add_distance(float distance) {
1451 fbb_.AddElement<float>(RouteObject::VT_DISTANCE, distance, 0.0f);
1452 }
add_durationRouteObjectBuilder1453 void add_duration(float duration) {
1454 fbb_.AddElement<float>(RouteObject::VT_DURATION, duration, 0.0f);
1455 }
add_weightRouteObjectBuilder1456 void add_weight(float weight) {
1457 fbb_.AddElement<float>(RouteObject::VT_WEIGHT, weight, 0.0f);
1458 }
add_weight_nameRouteObjectBuilder1459 void add_weight_name(flatbuffers::Offset<flatbuffers::String> weight_name) {
1460 fbb_.AddOffset(RouteObject::VT_WEIGHT_NAME, weight_name);
1461 }
add_confidenceRouteObjectBuilder1462 void add_confidence(float confidence) {
1463 fbb_.AddElement<float>(RouteObject::VT_CONFIDENCE, confidence, 0.0f);
1464 }
add_polylineRouteObjectBuilder1465 void add_polyline(flatbuffers::Offset<flatbuffers::String> polyline) {
1466 fbb_.AddOffset(RouteObject::VT_POLYLINE, polyline);
1467 }
add_coordinatesRouteObjectBuilder1468 void add_coordinates(flatbuffers::Offset<flatbuffers::Vector<const osrm::engine::api::fbresult::Position *>> coordinates) {
1469 fbb_.AddOffset(RouteObject::VT_COORDINATES, coordinates);
1470 }
add_legsRouteObjectBuilder1471 void add_legs(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Leg>>> legs) {
1472 fbb_.AddOffset(RouteObject::VT_LEGS, legs);
1473 }
RouteObjectBuilderRouteObjectBuilder1474 explicit RouteObjectBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1475 : fbb_(_fbb) {
1476 start_ = fbb_.StartTable();
1477 }
1478 RouteObjectBuilder &operator=(const RouteObjectBuilder &);
FinishRouteObjectBuilder1479 flatbuffers::Offset<RouteObject> Finish() {
1480 const auto end = fbb_.EndTable(start_);
1481 auto o = flatbuffers::Offset<RouteObject>(end);
1482 return o;
1483 }
1484 };
1485
1486 inline flatbuffers::Offset<RouteObject> CreateRouteObject(
1487 flatbuffers::FlatBufferBuilder &_fbb,
1488 float distance = 0.0f,
1489 float duration = 0.0f,
1490 float weight = 0.0f,
1491 flatbuffers::Offset<flatbuffers::String> weight_name = 0,
1492 float confidence = 0.0f,
1493 flatbuffers::Offset<flatbuffers::String> polyline = 0,
1494 flatbuffers::Offset<flatbuffers::Vector<const osrm::engine::api::fbresult::Position *>> coordinates = 0,
1495 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Leg>>> legs = 0) {
1496 RouteObjectBuilder builder_(_fbb);
1497 builder_.add_legs(legs);
1498 builder_.add_coordinates(coordinates);
1499 builder_.add_polyline(polyline);
1500 builder_.add_confidence(confidence);
1501 builder_.add_weight_name(weight_name);
1502 builder_.add_weight(weight);
1503 builder_.add_duration(duration);
1504 builder_.add_distance(distance);
1505 return builder_.Finish();
1506 }
1507
1508 inline flatbuffers::Offset<RouteObject> CreateRouteObjectDirect(
1509 flatbuffers::FlatBufferBuilder &_fbb,
1510 float distance = 0.0f,
1511 float duration = 0.0f,
1512 float weight = 0.0f,
1513 const char *weight_name = nullptr,
1514 float confidence = 0.0f,
1515 const char *polyline = nullptr,
1516 const std::vector<osrm::engine::api::fbresult::Position> *coordinates = nullptr,
1517 const std::vector<flatbuffers::Offset<osrm::engine::api::fbresult::Leg>> *legs = nullptr) {
1518 auto weight_name__ = weight_name ? _fbb.CreateString(weight_name) : 0;
1519 auto polyline__ = polyline ? _fbb.CreateString(polyline) : 0;
1520 auto coordinates__ = coordinates ? _fbb.CreateVectorOfStructs<osrm::engine::api::fbresult::Position>(*coordinates) : 0;
1521 auto legs__ = legs ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Leg>>(*legs) : 0;
1522 return osrm::engine::api::fbresult::CreateRouteObject(
1523 _fbb,
1524 distance,
1525 duration,
1526 weight,
1527 weight_name__,
1528 confidence,
1529 polyline__,
1530 coordinates__,
1531 legs__);
1532 }
1533
1534 flatbuffers::Offset<RouteObject> CreateRouteObject(flatbuffers::FlatBufferBuilder &_fbb, const RouteObjectT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1535
1536 struct TableT : public flatbuffers::NativeTable {
1537 typedef Table TableType;
1538 std::vector<float> durations;
1539 uint16_t rows;
1540 uint16_t cols;
1541 std::vector<float> distances;
1542 std::vector<std::unique_ptr<osrm::engine::api::fbresult::WaypointT>> destinations;
1543 std::vector<uint32_t> fallback_speed_cells;
TableTTableT1544 TableT()
1545 : rows(0),
1546 cols(0) {
1547 }
1548 };
1549
1550 struct Table FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1551 typedef TableT NativeTableType;
1552 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1553 VT_DURATIONS = 4,
1554 VT_ROWS = 6,
1555 VT_COLS = 8,
1556 VT_DISTANCES = 10,
1557 VT_DESTINATIONS = 12,
1558 VT_FALLBACK_SPEED_CELLS = 14
1559 };
durationsFLATBUFFERS_FINAL_CLASS1560 const flatbuffers::Vector<float> *durations() const {
1561 return GetPointer<const flatbuffers::Vector<float> *>(VT_DURATIONS);
1562 }
rowsFLATBUFFERS_FINAL_CLASS1563 uint16_t rows() const {
1564 return GetField<uint16_t>(VT_ROWS, 0);
1565 }
colsFLATBUFFERS_FINAL_CLASS1566 uint16_t cols() const {
1567 return GetField<uint16_t>(VT_COLS, 0);
1568 }
distancesFLATBUFFERS_FINAL_CLASS1569 const flatbuffers::Vector<float> *distances() const {
1570 return GetPointer<const flatbuffers::Vector<float> *>(VT_DISTANCES);
1571 }
destinationsFLATBUFFERS_FINAL_CLASS1572 const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>> *destinations() const {
1573 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>> *>(VT_DESTINATIONS);
1574 }
fallback_speed_cellsFLATBUFFERS_FINAL_CLASS1575 const flatbuffers::Vector<uint32_t> *fallback_speed_cells() const {
1576 return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_FALLBACK_SPEED_CELLS);
1577 }
VerifyFLATBUFFERS_FINAL_CLASS1578 bool Verify(flatbuffers::Verifier &verifier) const {
1579 return VerifyTableStart(verifier) &&
1580 VerifyOffset(verifier, VT_DURATIONS) &&
1581 verifier.VerifyVector(durations()) &&
1582 VerifyField<uint16_t>(verifier, VT_ROWS) &&
1583 VerifyField<uint16_t>(verifier, VT_COLS) &&
1584 VerifyOffset(verifier, VT_DISTANCES) &&
1585 verifier.VerifyVector(distances()) &&
1586 VerifyOffset(verifier, VT_DESTINATIONS) &&
1587 verifier.VerifyVector(destinations()) &&
1588 verifier.VerifyVectorOfTables(destinations()) &&
1589 VerifyOffset(verifier, VT_FALLBACK_SPEED_CELLS) &&
1590 verifier.VerifyVector(fallback_speed_cells()) &&
1591 verifier.EndTable();
1592 }
1593 TableT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1594 void UnPackTo(TableT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1595 static flatbuffers::Offset<Table> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1596 };
1597
1598 struct TableBuilder {
1599 flatbuffers::FlatBufferBuilder &fbb_;
1600 flatbuffers::uoffset_t start_;
add_durationsTableBuilder1601 void add_durations(flatbuffers::Offset<flatbuffers::Vector<float>> durations) {
1602 fbb_.AddOffset(Table::VT_DURATIONS, durations);
1603 }
add_rowsTableBuilder1604 void add_rows(uint16_t rows) {
1605 fbb_.AddElement<uint16_t>(Table::VT_ROWS, rows, 0);
1606 }
add_colsTableBuilder1607 void add_cols(uint16_t cols) {
1608 fbb_.AddElement<uint16_t>(Table::VT_COLS, cols, 0);
1609 }
add_distancesTableBuilder1610 void add_distances(flatbuffers::Offset<flatbuffers::Vector<float>> distances) {
1611 fbb_.AddOffset(Table::VT_DISTANCES, distances);
1612 }
add_destinationsTableBuilder1613 void add_destinations(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>>> destinations) {
1614 fbb_.AddOffset(Table::VT_DESTINATIONS, destinations);
1615 }
add_fallback_speed_cellsTableBuilder1616 void add_fallback_speed_cells(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> fallback_speed_cells) {
1617 fbb_.AddOffset(Table::VT_FALLBACK_SPEED_CELLS, fallback_speed_cells);
1618 }
TableBuilderTableBuilder1619 explicit TableBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1620 : fbb_(_fbb) {
1621 start_ = fbb_.StartTable();
1622 }
1623 TableBuilder &operator=(const TableBuilder &);
FinishTableBuilder1624 flatbuffers::Offset<Table> Finish() {
1625 const auto end = fbb_.EndTable(start_);
1626 auto o = flatbuffers::Offset<Table>(end);
1627 return o;
1628 }
1629 };
1630
1631 inline flatbuffers::Offset<Table> CreateTable(
1632 flatbuffers::FlatBufferBuilder &_fbb,
1633 flatbuffers::Offset<flatbuffers::Vector<float>> durations = 0,
1634 uint16_t rows = 0,
1635 uint16_t cols = 0,
1636 flatbuffers::Offset<flatbuffers::Vector<float>> distances = 0,
1637 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>>> destinations = 0,
1638 flatbuffers::Offset<flatbuffers::Vector<uint32_t>> fallback_speed_cells = 0) {
1639 TableBuilder builder_(_fbb);
1640 builder_.add_fallback_speed_cells(fallback_speed_cells);
1641 builder_.add_destinations(destinations);
1642 builder_.add_distances(distances);
1643 builder_.add_durations(durations);
1644 builder_.add_cols(cols);
1645 builder_.add_rows(rows);
1646 return builder_.Finish();
1647 }
1648
1649 inline flatbuffers::Offset<Table> CreateTableDirect(
1650 flatbuffers::FlatBufferBuilder &_fbb,
1651 const std::vector<float> *durations = nullptr,
1652 uint16_t rows = 0,
1653 uint16_t cols = 0,
1654 const std::vector<float> *distances = nullptr,
1655 const std::vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>> *destinations = nullptr,
1656 const std::vector<uint32_t> *fallback_speed_cells = nullptr) {
1657 auto durations__ = durations ? _fbb.CreateVector<float>(*durations) : 0;
1658 auto distances__ = distances ? _fbb.CreateVector<float>(*distances) : 0;
1659 auto destinations__ = destinations ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>>(*destinations) : 0;
1660 auto fallback_speed_cells__ = fallback_speed_cells ? _fbb.CreateVector<uint32_t>(*fallback_speed_cells) : 0;
1661 return osrm::engine::api::fbresult::CreateTable(
1662 _fbb,
1663 durations__,
1664 rows,
1665 cols,
1666 distances__,
1667 destinations__,
1668 fallback_speed_cells__);
1669 }
1670
1671 flatbuffers::Offset<Table> CreateTable(flatbuffers::FlatBufferBuilder &_fbb, const TableT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1672
1673 struct ErrorT : public flatbuffers::NativeTable {
1674 typedef Error TableType;
1675 std::string code;
1676 std::string message;
ErrorTErrorT1677 ErrorT() {
1678 }
1679 };
1680
1681 struct Error FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1682 typedef ErrorT NativeTableType;
1683 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1684 VT_CODE = 4,
1685 VT_MESSAGE = 6
1686 };
codeFLATBUFFERS_FINAL_CLASS1687 const flatbuffers::String *code() const {
1688 return GetPointer<const flatbuffers::String *>(VT_CODE);
1689 }
messageFLATBUFFERS_FINAL_CLASS1690 const flatbuffers::String *message() const {
1691 return GetPointer<const flatbuffers::String *>(VT_MESSAGE);
1692 }
VerifyFLATBUFFERS_FINAL_CLASS1693 bool Verify(flatbuffers::Verifier &verifier) const {
1694 return VerifyTableStart(verifier) &&
1695 VerifyOffset(verifier, VT_CODE) &&
1696 verifier.VerifyString(code()) &&
1697 VerifyOffset(verifier, VT_MESSAGE) &&
1698 verifier.VerifyString(message()) &&
1699 verifier.EndTable();
1700 }
1701 ErrorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1702 void UnPackTo(ErrorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1703 static flatbuffers::Offset<Error> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ErrorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1704 };
1705
1706 struct ErrorBuilder {
1707 flatbuffers::FlatBufferBuilder &fbb_;
1708 flatbuffers::uoffset_t start_;
add_codeErrorBuilder1709 void add_code(flatbuffers::Offset<flatbuffers::String> code) {
1710 fbb_.AddOffset(Error::VT_CODE, code);
1711 }
add_messageErrorBuilder1712 void add_message(flatbuffers::Offset<flatbuffers::String> message) {
1713 fbb_.AddOffset(Error::VT_MESSAGE, message);
1714 }
ErrorBuilderErrorBuilder1715 explicit ErrorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1716 : fbb_(_fbb) {
1717 start_ = fbb_.StartTable();
1718 }
1719 ErrorBuilder &operator=(const ErrorBuilder &);
FinishErrorBuilder1720 flatbuffers::Offset<Error> Finish() {
1721 const auto end = fbb_.EndTable(start_);
1722 auto o = flatbuffers::Offset<Error>(end);
1723 return o;
1724 }
1725 };
1726
1727 inline flatbuffers::Offset<Error> CreateError(
1728 flatbuffers::FlatBufferBuilder &_fbb,
1729 flatbuffers::Offset<flatbuffers::String> code = 0,
1730 flatbuffers::Offset<flatbuffers::String> message = 0) {
1731 ErrorBuilder builder_(_fbb);
1732 builder_.add_message(message);
1733 builder_.add_code(code);
1734 return builder_.Finish();
1735 }
1736
1737 inline flatbuffers::Offset<Error> CreateErrorDirect(
1738 flatbuffers::FlatBufferBuilder &_fbb,
1739 const char *code = nullptr,
1740 const char *message = nullptr) {
1741 auto code__ = code ? _fbb.CreateString(code) : 0;
1742 auto message__ = message ? _fbb.CreateString(message) : 0;
1743 return osrm::engine::api::fbresult::CreateError(
1744 _fbb,
1745 code__,
1746 message__);
1747 }
1748
1749 flatbuffers::Offset<Error> CreateError(flatbuffers::FlatBufferBuilder &_fbb, const ErrorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1750
1751 struct FBResultT : public flatbuffers::NativeTable {
1752 typedef FBResult TableType;
1753 bool error;
1754 std::unique_ptr<osrm::engine::api::fbresult::ErrorT> code;
1755 std::string data_version;
1756 std::vector<std::unique_ptr<osrm::engine::api::fbresult::WaypointT>> waypoints;
1757 std::vector<std::unique_ptr<osrm::engine::api::fbresult::RouteObjectT>> routes;
1758 std::unique_ptr<osrm::engine::api::fbresult::TableT> table;
FBResultTFBResultT1759 FBResultT()
1760 : error(false) {
1761 }
1762 };
1763
1764 struct FBResult FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1765 typedef FBResultT NativeTableType;
1766 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1767 VT_ERROR = 4,
1768 VT_CODE = 6,
1769 VT_DATA_VERSION = 8,
1770 VT_WAYPOINTS = 10,
1771 VT_ROUTES = 12,
1772 VT_TABLE = 14
1773 };
errorFLATBUFFERS_FINAL_CLASS1774 bool error() const {
1775 return GetField<uint8_t>(VT_ERROR, 0) != 0;
1776 }
codeFLATBUFFERS_FINAL_CLASS1777 const osrm::engine::api::fbresult::Error *code() const {
1778 return GetPointer<const osrm::engine::api::fbresult::Error *>(VT_CODE);
1779 }
data_versionFLATBUFFERS_FINAL_CLASS1780 const flatbuffers::String *data_version() const {
1781 return GetPointer<const flatbuffers::String *>(VT_DATA_VERSION);
1782 }
waypointsFLATBUFFERS_FINAL_CLASS1783 const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>> *waypoints() const {
1784 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>> *>(VT_WAYPOINTS);
1785 }
routesFLATBUFFERS_FINAL_CLASS1786 const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::RouteObject>> *routes() const {
1787 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::RouteObject>> *>(VT_ROUTES);
1788 }
tableFLATBUFFERS_FINAL_CLASS1789 const osrm::engine::api::fbresult::Table *table() const {
1790 return GetPointer<const osrm::engine::api::fbresult::Table *>(VT_TABLE);
1791 }
VerifyFLATBUFFERS_FINAL_CLASS1792 bool Verify(flatbuffers::Verifier &verifier) const {
1793 return VerifyTableStart(verifier) &&
1794 VerifyField<uint8_t>(verifier, VT_ERROR) &&
1795 VerifyOffset(verifier, VT_CODE) &&
1796 verifier.VerifyTable(code()) &&
1797 VerifyOffset(verifier, VT_DATA_VERSION) &&
1798 verifier.VerifyString(data_version()) &&
1799 VerifyOffset(verifier, VT_WAYPOINTS) &&
1800 verifier.VerifyVector(waypoints()) &&
1801 verifier.VerifyVectorOfTables(waypoints()) &&
1802 VerifyOffset(verifier, VT_ROUTES) &&
1803 verifier.VerifyVector(routes()) &&
1804 verifier.VerifyVectorOfTables(routes()) &&
1805 VerifyOffset(verifier, VT_TABLE) &&
1806 verifier.VerifyTable(table()) &&
1807 verifier.EndTable();
1808 }
1809 FBResultT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1810 void UnPackTo(FBResultT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1811 static flatbuffers::Offset<FBResult> Pack(flatbuffers::FlatBufferBuilder &_fbb, const FBResultT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1812 };
1813
1814 struct FBResultBuilder {
1815 flatbuffers::FlatBufferBuilder &fbb_;
1816 flatbuffers::uoffset_t start_;
add_errorFBResultBuilder1817 void add_error(bool error) {
1818 fbb_.AddElement<uint8_t>(FBResult::VT_ERROR, static_cast<uint8_t>(error), 0);
1819 }
add_codeFBResultBuilder1820 void add_code(flatbuffers::Offset<osrm::engine::api::fbresult::Error> code) {
1821 fbb_.AddOffset(FBResult::VT_CODE, code);
1822 }
add_data_versionFBResultBuilder1823 void add_data_version(flatbuffers::Offset<flatbuffers::String> data_version) {
1824 fbb_.AddOffset(FBResult::VT_DATA_VERSION, data_version);
1825 }
add_waypointsFBResultBuilder1826 void add_waypoints(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>>> waypoints) {
1827 fbb_.AddOffset(FBResult::VT_WAYPOINTS, waypoints);
1828 }
add_routesFBResultBuilder1829 void add_routes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::RouteObject>>> routes) {
1830 fbb_.AddOffset(FBResult::VT_ROUTES, routes);
1831 }
add_tableFBResultBuilder1832 void add_table(flatbuffers::Offset<osrm::engine::api::fbresult::Table> table) {
1833 fbb_.AddOffset(FBResult::VT_TABLE, table);
1834 }
FBResultBuilderFBResultBuilder1835 explicit FBResultBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1836 : fbb_(_fbb) {
1837 start_ = fbb_.StartTable();
1838 }
1839 FBResultBuilder &operator=(const FBResultBuilder &);
FinishFBResultBuilder1840 flatbuffers::Offset<FBResult> Finish() {
1841 const auto end = fbb_.EndTable(start_);
1842 auto o = flatbuffers::Offset<FBResult>(end);
1843 return o;
1844 }
1845 };
1846
1847 inline flatbuffers::Offset<FBResult> CreateFBResult(
1848 flatbuffers::FlatBufferBuilder &_fbb,
1849 bool error = false,
1850 flatbuffers::Offset<osrm::engine::api::fbresult::Error> code = 0,
1851 flatbuffers::Offset<flatbuffers::String> data_version = 0,
1852 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>>> waypoints = 0,
1853 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<osrm::engine::api::fbresult::RouteObject>>> routes = 0,
1854 flatbuffers::Offset<osrm::engine::api::fbresult::Table> table = 0) {
1855 FBResultBuilder builder_(_fbb);
1856 builder_.add_table(table);
1857 builder_.add_routes(routes);
1858 builder_.add_waypoints(waypoints);
1859 builder_.add_data_version(data_version);
1860 builder_.add_code(code);
1861 builder_.add_error(error);
1862 return builder_.Finish();
1863 }
1864
1865 inline flatbuffers::Offset<FBResult> CreateFBResultDirect(
1866 flatbuffers::FlatBufferBuilder &_fbb,
1867 bool error = false,
1868 flatbuffers::Offset<osrm::engine::api::fbresult::Error> code = 0,
1869 const char *data_version = nullptr,
1870 const std::vector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>> *waypoints = nullptr,
1871 const std::vector<flatbuffers::Offset<osrm::engine::api::fbresult::RouteObject>> *routes = nullptr,
1872 flatbuffers::Offset<osrm::engine::api::fbresult::Table> table = 0) {
1873 auto data_version__ = data_version ? _fbb.CreateString(data_version) : 0;
1874 auto waypoints__ = waypoints ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>>(*waypoints) : 0;
1875 auto routes__ = routes ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::RouteObject>>(*routes) : 0;
1876 return osrm::engine::api::fbresult::CreateFBResult(
1877 _fbb,
1878 error,
1879 code,
1880 data_version__,
1881 waypoints__,
1882 routes__,
1883 table);
1884 }
1885
1886 flatbuffers::Offset<FBResult> CreateFBResult(flatbuffers::FlatBufferBuilder &_fbb, const FBResultT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1887
UnPack(const flatbuffers::resolver_function_t * _resolver)1888 inline WaypointT *Waypoint::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
1889 auto _o = new WaypointT();
1890 UnPackTo(_o, _resolver);
1891 return _o;
1892 }
1893
UnPackTo(WaypointT * _o,const flatbuffers::resolver_function_t * _resolver)1894 inline void Waypoint::UnPackTo(WaypointT *_o, const flatbuffers::resolver_function_t *_resolver) const {
1895 (void)_o;
1896 (void)_resolver;
1897 { auto _e = hint(); if (_e) _o->hint = _e->str(); };
1898 { auto _e = distance(); _o->distance = _e; };
1899 { auto _e = name(); if (_e) _o->name = _e->str(); };
1900 { auto _e = location(); if (_e) _o->location = std::unique_ptr<osrm::engine::api::fbresult::Position>(new osrm::engine::api::fbresult::Position(*_e)); };
1901 { auto _e = nodes(); if (_e) _o->nodes = std::unique_ptr<osrm::engine::api::fbresult::Uint64Pair>(new osrm::engine::api::fbresult::Uint64Pair(*_e)); };
1902 { auto _e = matchings_index(); _o->matchings_index = _e; };
1903 { auto _e = waypoint_index(); _o->waypoint_index = _e; };
1904 { auto _e = alternatives_count(); _o->alternatives_count = _e; };
1905 { auto _e = trips_index(); _o->trips_index = _e; };
1906 }
1907
Pack(flatbuffers::FlatBufferBuilder & _fbb,const WaypointT * _o,const flatbuffers::rehasher_function_t * _rehasher)1908 inline flatbuffers::Offset<Waypoint> Waypoint::Pack(flatbuffers::FlatBufferBuilder &_fbb, const WaypointT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
1909 return CreateWaypoint(_fbb, _o, _rehasher);
1910 }
1911
CreateWaypoint(flatbuffers::FlatBufferBuilder & _fbb,const WaypointT * _o,const flatbuffers::rehasher_function_t * _rehasher)1912 inline flatbuffers::Offset<Waypoint> CreateWaypoint(flatbuffers::FlatBufferBuilder &_fbb, const WaypointT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
1913 (void)_rehasher;
1914 (void)_o;
1915 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const WaypointT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
1916 auto _hint = _o->hint.empty() ? 0 : _fbb.CreateString(_o->hint);
1917 auto _distance = _o->distance;
1918 auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name);
1919 auto _location = _o->location ? _o->location.get() : 0;
1920 auto _nodes = _o->nodes ? _o->nodes.get() : 0;
1921 auto _matchings_index = _o->matchings_index;
1922 auto _waypoint_index = _o->waypoint_index;
1923 auto _alternatives_count = _o->alternatives_count;
1924 auto _trips_index = _o->trips_index;
1925 return osrm::engine::api::fbresult::CreateWaypoint(
1926 _fbb,
1927 _hint,
1928 _distance,
1929 _name,
1930 _location,
1931 _nodes,
1932 _matchings_index,
1933 _waypoint_index,
1934 _alternatives_count,
1935 _trips_index);
1936 }
1937
UnPack(const flatbuffers::resolver_function_t * _resolver)1938 inline MetadataT *Metadata::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
1939 auto _o = new MetadataT();
1940 UnPackTo(_o, _resolver);
1941 return _o;
1942 }
1943
UnPackTo(MetadataT * _o,const flatbuffers::resolver_function_t * _resolver)1944 inline void Metadata::UnPackTo(MetadataT *_o, const flatbuffers::resolver_function_t *_resolver) const {
1945 (void)_o;
1946 (void)_resolver;
1947 { auto _e = datasource_names(); if (_e) { _o->datasource_names.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->datasource_names[_i] = _e->Get(_i)->str(); } } };
1948 }
1949
Pack(flatbuffers::FlatBufferBuilder & _fbb,const MetadataT * _o,const flatbuffers::rehasher_function_t * _rehasher)1950 inline flatbuffers::Offset<Metadata> Metadata::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
1951 return CreateMetadata(_fbb, _o, _rehasher);
1952 }
1953
CreateMetadata(flatbuffers::FlatBufferBuilder & _fbb,const MetadataT * _o,const flatbuffers::rehasher_function_t * _rehasher)1954 inline flatbuffers::Offset<Metadata> CreateMetadata(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
1955 (void)_rehasher;
1956 (void)_o;
1957 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MetadataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
1958 auto _datasource_names = _o->datasource_names.size() ? _fbb.CreateVectorOfStrings(_o->datasource_names) : 0;
1959 return osrm::engine::api::fbresult::CreateMetadata(
1960 _fbb,
1961 _datasource_names);
1962 }
1963
UnPack(const flatbuffers::resolver_function_t * _resolver)1964 inline AnnotationT *Annotation::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
1965 auto _o = new AnnotationT();
1966 UnPackTo(_o, _resolver);
1967 return _o;
1968 }
1969
UnPackTo(AnnotationT * _o,const flatbuffers::resolver_function_t * _resolver)1970 inline void Annotation::UnPackTo(AnnotationT *_o, const flatbuffers::resolver_function_t *_resolver) const {
1971 (void)_o;
1972 (void)_resolver;
1973 { auto _e = distance(); if (_e) { _o->distance.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->distance[_i] = _e->Get(_i); } } };
1974 { auto _e = duration(); if (_e) { _o->duration.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->duration[_i] = _e->Get(_i); } } };
1975 { auto _e = datasources(); if (_e) { _o->datasources.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->datasources[_i] = _e->Get(_i); } } };
1976 { auto _e = nodes(); if (_e) { _o->nodes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->nodes[_i] = _e->Get(_i); } } };
1977 { auto _e = weight(); if (_e) { _o->weight.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->weight[_i] = _e->Get(_i); } } };
1978 { auto _e = speed(); if (_e) { _o->speed.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->speed[_i] = _e->Get(_i); } } };
1979 { auto _e = metadata(); if (_e) _o->metadata = std::unique_ptr<osrm::engine::api::fbresult::MetadataT>(_e->UnPack(_resolver)); };
1980 }
1981
Pack(flatbuffers::FlatBufferBuilder & _fbb,const AnnotationT * _o,const flatbuffers::rehasher_function_t * _rehasher)1982 inline flatbuffers::Offset<Annotation> Annotation::Pack(flatbuffers::FlatBufferBuilder &_fbb, const AnnotationT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
1983 return CreateAnnotation(_fbb, _o, _rehasher);
1984 }
1985
CreateAnnotation(flatbuffers::FlatBufferBuilder & _fbb,const AnnotationT * _o,const flatbuffers::rehasher_function_t * _rehasher)1986 inline flatbuffers::Offset<Annotation> CreateAnnotation(flatbuffers::FlatBufferBuilder &_fbb, const AnnotationT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
1987 (void)_rehasher;
1988 (void)_o;
1989 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const AnnotationT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
1990 auto _distance = _o->distance.size() ? _fbb.CreateVector(_o->distance) : 0;
1991 auto _duration = _o->duration.size() ? _fbb.CreateVector(_o->duration) : 0;
1992 auto _datasources = _o->datasources.size() ? _fbb.CreateVector(_o->datasources) : 0;
1993 auto _nodes = _o->nodes.size() ? _fbb.CreateVector(_o->nodes) : 0;
1994 auto _weight = _o->weight.size() ? _fbb.CreateVector(_o->weight) : 0;
1995 auto _speed = _o->speed.size() ? _fbb.CreateVector(_o->speed) : 0;
1996 auto _metadata = _o->metadata ? CreateMetadata(_fbb, _o->metadata.get(), _rehasher) : 0;
1997 return osrm::engine::api::fbresult::CreateAnnotation(
1998 _fbb,
1999 _distance,
2000 _duration,
2001 _datasources,
2002 _nodes,
2003 _weight,
2004 _speed,
2005 _metadata);
2006 }
2007
UnPack(const flatbuffers::resolver_function_t * _resolver)2008 inline StepManeuverT *StepManeuver::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
2009 auto _o = new StepManeuverT();
2010 UnPackTo(_o, _resolver);
2011 return _o;
2012 }
2013
UnPackTo(StepManeuverT * _o,const flatbuffers::resolver_function_t * _resolver)2014 inline void StepManeuver::UnPackTo(StepManeuverT *_o, const flatbuffers::resolver_function_t *_resolver) const {
2015 (void)_o;
2016 (void)_resolver;
2017 { auto _e = location(); if (_e) _o->location = std::unique_ptr<osrm::engine::api::fbresult::Position>(new osrm::engine::api::fbresult::Position(*_e)); };
2018 { auto _e = bearing_before(); _o->bearing_before = _e; };
2019 { auto _e = bearing_after(); _o->bearing_after = _e; };
2020 { auto _e = type(); _o->type = _e; };
2021 { auto _e = modifier(); _o->modifier = _e; };
2022 { auto _e = exit(); _o->exit = _e; };
2023 }
2024
Pack(flatbuffers::FlatBufferBuilder & _fbb,const StepManeuverT * _o,const flatbuffers::rehasher_function_t * _rehasher)2025 inline flatbuffers::Offset<StepManeuver> StepManeuver::Pack(flatbuffers::FlatBufferBuilder &_fbb, const StepManeuverT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
2026 return CreateStepManeuver(_fbb, _o, _rehasher);
2027 }
2028
CreateStepManeuver(flatbuffers::FlatBufferBuilder & _fbb,const StepManeuverT * _o,const flatbuffers::rehasher_function_t * _rehasher)2029 inline flatbuffers::Offset<StepManeuver> CreateStepManeuver(flatbuffers::FlatBufferBuilder &_fbb, const StepManeuverT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
2030 (void)_rehasher;
2031 (void)_o;
2032 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const StepManeuverT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
2033 auto _location = _o->location ? _o->location.get() : 0;
2034 auto _bearing_before = _o->bearing_before;
2035 auto _bearing_after = _o->bearing_after;
2036 auto _type = _o->type;
2037 auto _modifier = _o->modifier;
2038 auto _exit = _o->exit;
2039 return osrm::engine::api::fbresult::CreateStepManeuver(
2040 _fbb,
2041 _location,
2042 _bearing_before,
2043 _bearing_after,
2044 _type,
2045 _modifier,
2046 _exit);
2047 }
2048
UnPack(const flatbuffers::resolver_function_t * _resolver)2049 inline LaneT *Lane::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
2050 auto _o = new LaneT();
2051 UnPackTo(_o, _resolver);
2052 return _o;
2053 }
2054
UnPackTo(LaneT * _o,const flatbuffers::resolver_function_t * _resolver)2055 inline void Lane::UnPackTo(LaneT *_o, const flatbuffers::resolver_function_t *_resolver) const {
2056 (void)_o;
2057 (void)_resolver;
2058 { auto _e = indications(); if (_e) { _o->indications.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->indications[_i] = static_cast<osrm::engine::api::fbresult::Turn>(_e->Get(_i)); } } };
2059 { auto _e = valid(); _o->valid = _e; };
2060 }
2061
Pack(flatbuffers::FlatBufferBuilder & _fbb,const LaneT * _o,const flatbuffers::rehasher_function_t * _rehasher)2062 inline flatbuffers::Offset<Lane> Lane::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LaneT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
2063 return CreateLane(_fbb, _o, _rehasher);
2064 }
2065
CreateLane(flatbuffers::FlatBufferBuilder & _fbb,const LaneT * _o,const flatbuffers::rehasher_function_t * _rehasher)2066 inline flatbuffers::Offset<Lane> CreateLane(flatbuffers::FlatBufferBuilder &_fbb, const LaneT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
2067 (void)_rehasher;
2068 (void)_o;
2069 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LaneT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
2070 auto _indications = _o->indications.size() ? _fbb.CreateVectorScalarCast<int8_t>(flatbuffers::data(_o->indications), _o->indications.size()) : 0;
2071 auto _valid = _o->valid;
2072 return osrm::engine::api::fbresult::CreateLane(
2073 _fbb,
2074 _indications,
2075 _valid);
2076 }
2077
UnPack(const flatbuffers::resolver_function_t * _resolver)2078 inline IntersectionT *Intersection::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
2079 auto _o = new IntersectionT();
2080 UnPackTo(_o, _resolver);
2081 return _o;
2082 }
2083
UnPackTo(IntersectionT * _o,const flatbuffers::resolver_function_t * _resolver)2084 inline void Intersection::UnPackTo(IntersectionT *_o, const flatbuffers::resolver_function_t *_resolver) const {
2085 (void)_o;
2086 (void)_resolver;
2087 { auto _e = location(); if (_e) _o->location = std::unique_ptr<osrm::engine::api::fbresult::Position>(new osrm::engine::api::fbresult::Position(*_e)); };
2088 { auto _e = bearings(); if (_e) { _o->bearings.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->bearings[_i] = _e->Get(_i); } } };
2089 { auto _e = classes(); if (_e) { _o->classes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->classes[_i] = _e->Get(_i)->str(); } } };
2090 { auto _e = entry(); if (_e) { _o->entry.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->entry[_i] = _e->Get(_i) != 0; } } };
2091 { auto _e = in_bearing(); _o->in_bearing = _e; };
2092 { auto _e = out_bearing(); _o->out_bearing = _e; };
2093 { auto _e = lanes(); if (_e) { _o->lanes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->lanes[_i] = std::unique_ptr<osrm::engine::api::fbresult::LaneT>(_e->Get(_i)->UnPack(_resolver)); } } };
2094 }
2095
Pack(flatbuffers::FlatBufferBuilder & _fbb,const IntersectionT * _o,const flatbuffers::rehasher_function_t * _rehasher)2096 inline flatbuffers::Offset<Intersection> Intersection::Pack(flatbuffers::FlatBufferBuilder &_fbb, const IntersectionT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
2097 return CreateIntersection(_fbb, _o, _rehasher);
2098 }
2099
CreateIntersection(flatbuffers::FlatBufferBuilder & _fbb,const IntersectionT * _o,const flatbuffers::rehasher_function_t * _rehasher)2100 inline flatbuffers::Offset<Intersection> CreateIntersection(flatbuffers::FlatBufferBuilder &_fbb, const IntersectionT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
2101 (void)_rehasher;
2102 (void)_o;
2103 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const IntersectionT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
2104 auto _location = _o->location ? _o->location.get() : 0;
2105 auto _bearings = _o->bearings.size() ? _fbb.CreateVector(_o->bearings) : 0;
2106 auto _classes = _o->classes.size() ? _fbb.CreateVectorOfStrings(_o->classes) : 0;
2107 auto _entry = _o->entry.size() ? _fbb.CreateVector(_o->entry) : 0;
2108 auto _in_bearing = _o->in_bearing;
2109 auto _out_bearing = _o->out_bearing;
2110 auto _lanes = _o->lanes.size() ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Lane>> (_o->lanes.size(), [](size_t i, _VectorArgs *__va) { return CreateLane(*__va->__fbb, __va->__o->lanes[i].get(), __va->__rehasher); }, &_va ) : 0;
2111 return osrm::engine::api::fbresult::CreateIntersection(
2112 _fbb,
2113 _location,
2114 _bearings,
2115 _classes,
2116 _entry,
2117 _in_bearing,
2118 _out_bearing,
2119 _lanes);
2120 }
2121
UnPack(const flatbuffers::resolver_function_t * _resolver)2122 inline StepT *Step::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
2123 auto _o = new StepT();
2124 UnPackTo(_o, _resolver);
2125 return _o;
2126 }
2127
UnPackTo(StepT * _o,const flatbuffers::resolver_function_t * _resolver)2128 inline void Step::UnPackTo(StepT *_o, const flatbuffers::resolver_function_t *_resolver) const {
2129 (void)_o;
2130 (void)_resolver;
2131 { auto _e = distance(); _o->distance = _e; };
2132 { auto _e = duration(); _o->duration = _e; };
2133 { auto _e = polyline(); if (_e) _o->polyline = _e->str(); };
2134 { auto _e = coordinates(); if (_e) { _o->coordinates.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->coordinates[_i] = *_e->Get(_i); } } };
2135 { auto _e = weight(); _o->weight = _e; };
2136 { auto _e = name(); if (_e) _o->name = _e->str(); };
2137 { auto _e = ref(); if (_e) _o->ref = _e->str(); };
2138 { auto _e = pronunciation(); if (_e) _o->pronunciation = _e->str(); };
2139 { auto _e = destinations(); if (_e) _o->destinations = _e->str(); };
2140 { auto _e = exits(); if (_e) _o->exits = _e->str(); };
2141 { auto _e = mode(); if (_e) _o->mode = _e->str(); };
2142 { auto _e = maneuver(); if (_e) _o->maneuver = std::unique_ptr<osrm::engine::api::fbresult::StepManeuverT>(_e->UnPack(_resolver)); };
2143 { auto _e = intersections(); if (_e) { _o->intersections.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->intersections[_i] = std::unique_ptr<osrm::engine::api::fbresult::IntersectionT>(_e->Get(_i)->UnPack(_resolver)); } } };
2144 { auto _e = rotary_name(); if (_e) _o->rotary_name = _e->str(); };
2145 { auto _e = rotary_pronunciation(); if (_e) _o->rotary_pronunciation = _e->str(); };
2146 { auto _e = driving_side(); _o->driving_side = _e; };
2147 }
2148
Pack(flatbuffers::FlatBufferBuilder & _fbb,const StepT * _o,const flatbuffers::rehasher_function_t * _rehasher)2149 inline flatbuffers::Offset<Step> Step::Pack(flatbuffers::FlatBufferBuilder &_fbb, const StepT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
2150 return CreateStep(_fbb, _o, _rehasher);
2151 }
2152
CreateStep(flatbuffers::FlatBufferBuilder & _fbb,const StepT * _o,const flatbuffers::rehasher_function_t * _rehasher)2153 inline flatbuffers::Offset<Step> CreateStep(flatbuffers::FlatBufferBuilder &_fbb, const StepT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
2154 (void)_rehasher;
2155 (void)_o;
2156 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const StepT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
2157 auto _distance = _o->distance;
2158 auto _duration = _o->duration;
2159 auto _polyline = _o->polyline.empty() ? 0 : _fbb.CreateString(_o->polyline);
2160 auto _coordinates = _o->coordinates.size() ? _fbb.CreateVectorOfStructs(_o->coordinates) : 0;
2161 auto _weight = _o->weight;
2162 auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name);
2163 auto _ref = _o->ref.empty() ? 0 : _fbb.CreateString(_o->ref);
2164 auto _pronunciation = _o->pronunciation.empty() ? 0 : _fbb.CreateString(_o->pronunciation);
2165 auto _destinations = _o->destinations.empty() ? 0 : _fbb.CreateString(_o->destinations);
2166 auto _exits = _o->exits.empty() ? 0 : _fbb.CreateString(_o->exits);
2167 auto _mode = _o->mode.empty() ? 0 : _fbb.CreateString(_o->mode);
2168 auto _maneuver = _o->maneuver ? CreateStepManeuver(_fbb, _o->maneuver.get(), _rehasher) : 0;
2169 auto _intersections = _o->intersections.size() ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Intersection>> (_o->intersections.size(), [](size_t i, _VectorArgs *__va) { return CreateIntersection(*__va->__fbb, __va->__o->intersections[i].get(), __va->__rehasher); }, &_va ) : 0;
2170 auto _rotary_name = _o->rotary_name.empty() ? 0 : _fbb.CreateString(_o->rotary_name);
2171 auto _rotary_pronunciation = _o->rotary_pronunciation.empty() ? 0 : _fbb.CreateString(_o->rotary_pronunciation);
2172 auto _driving_side = _o->driving_side;
2173 return osrm::engine::api::fbresult::CreateStep(
2174 _fbb,
2175 _distance,
2176 _duration,
2177 _polyline,
2178 _coordinates,
2179 _weight,
2180 _name,
2181 _ref,
2182 _pronunciation,
2183 _destinations,
2184 _exits,
2185 _mode,
2186 _maneuver,
2187 _intersections,
2188 _rotary_name,
2189 _rotary_pronunciation,
2190 _driving_side);
2191 }
2192
UnPack(const flatbuffers::resolver_function_t * _resolver)2193 inline LegT *Leg::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
2194 auto _o = new LegT();
2195 UnPackTo(_o, _resolver);
2196 return _o;
2197 }
2198
UnPackTo(LegT * _o,const flatbuffers::resolver_function_t * _resolver)2199 inline void Leg::UnPackTo(LegT *_o, const flatbuffers::resolver_function_t *_resolver) const {
2200 (void)_o;
2201 (void)_resolver;
2202 { auto _e = distance(); _o->distance = _e; };
2203 { auto _e = duration(); _o->duration = _e; };
2204 { auto _e = weight(); _o->weight = _e; };
2205 { auto _e = summary(); if (_e) _o->summary = _e->str(); };
2206 { auto _e = annotations(); if (_e) _o->annotations = std::unique_ptr<osrm::engine::api::fbresult::AnnotationT>(_e->UnPack(_resolver)); };
2207 { auto _e = steps(); if (_e) { _o->steps.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->steps[_i] = std::unique_ptr<osrm::engine::api::fbresult::StepT>(_e->Get(_i)->UnPack(_resolver)); } } };
2208 }
2209
Pack(flatbuffers::FlatBufferBuilder & _fbb,const LegT * _o,const flatbuffers::rehasher_function_t * _rehasher)2210 inline flatbuffers::Offset<Leg> Leg::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LegT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
2211 return CreateLeg(_fbb, _o, _rehasher);
2212 }
2213
CreateLeg(flatbuffers::FlatBufferBuilder & _fbb,const LegT * _o,const flatbuffers::rehasher_function_t * _rehasher)2214 inline flatbuffers::Offset<Leg> CreateLeg(flatbuffers::FlatBufferBuilder &_fbb, const LegT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
2215 (void)_rehasher;
2216 (void)_o;
2217 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LegT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
2218 auto _distance = _o->distance;
2219 auto _duration = _o->duration;
2220 auto _weight = _o->weight;
2221 auto _summary = _o->summary.empty() ? 0 : _fbb.CreateString(_o->summary);
2222 auto _annotations = _o->annotations ? CreateAnnotation(_fbb, _o->annotations.get(), _rehasher) : 0;
2223 auto _steps = _o->steps.size() ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Step>> (_o->steps.size(), [](size_t i, _VectorArgs *__va) { return CreateStep(*__va->__fbb, __va->__o->steps[i].get(), __va->__rehasher); }, &_va ) : 0;
2224 return osrm::engine::api::fbresult::CreateLeg(
2225 _fbb,
2226 _distance,
2227 _duration,
2228 _weight,
2229 _summary,
2230 _annotations,
2231 _steps);
2232 }
2233
UnPack(const flatbuffers::resolver_function_t * _resolver)2234 inline RouteObjectT *RouteObject::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
2235 auto _o = new RouteObjectT();
2236 UnPackTo(_o, _resolver);
2237 return _o;
2238 }
2239
UnPackTo(RouteObjectT * _o,const flatbuffers::resolver_function_t * _resolver)2240 inline void RouteObject::UnPackTo(RouteObjectT *_o, const flatbuffers::resolver_function_t *_resolver) const {
2241 (void)_o;
2242 (void)_resolver;
2243 { auto _e = distance(); _o->distance = _e; };
2244 { auto _e = duration(); _o->duration = _e; };
2245 { auto _e = weight(); _o->weight = _e; };
2246 { auto _e = weight_name(); if (_e) _o->weight_name = _e->str(); };
2247 { auto _e = confidence(); _o->confidence = _e; };
2248 { auto _e = polyline(); if (_e) _o->polyline = _e->str(); };
2249 { auto _e = coordinates(); if (_e) { _o->coordinates.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->coordinates[_i] = *_e->Get(_i); } } };
2250 { auto _e = legs(); if (_e) { _o->legs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->legs[_i] = std::unique_ptr<osrm::engine::api::fbresult::LegT>(_e->Get(_i)->UnPack(_resolver)); } } };
2251 }
2252
Pack(flatbuffers::FlatBufferBuilder & _fbb,const RouteObjectT * _o,const flatbuffers::rehasher_function_t * _rehasher)2253 inline flatbuffers::Offset<RouteObject> RouteObject::Pack(flatbuffers::FlatBufferBuilder &_fbb, const RouteObjectT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
2254 return CreateRouteObject(_fbb, _o, _rehasher);
2255 }
2256
CreateRouteObject(flatbuffers::FlatBufferBuilder & _fbb,const RouteObjectT * _o,const flatbuffers::rehasher_function_t * _rehasher)2257 inline flatbuffers::Offset<RouteObject> CreateRouteObject(flatbuffers::FlatBufferBuilder &_fbb, const RouteObjectT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
2258 (void)_rehasher;
2259 (void)_o;
2260 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const RouteObjectT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
2261 auto _distance = _o->distance;
2262 auto _duration = _o->duration;
2263 auto _weight = _o->weight;
2264 auto _weight_name = _o->weight_name.empty() ? 0 : _fbb.CreateString(_o->weight_name);
2265 auto _confidence = _o->confidence;
2266 auto _polyline = _o->polyline.empty() ? 0 : _fbb.CreateString(_o->polyline);
2267 auto _coordinates = _o->coordinates.size() ? _fbb.CreateVectorOfStructs(_o->coordinates) : 0;
2268 auto _legs = _o->legs.size() ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Leg>> (_o->legs.size(), [](size_t i, _VectorArgs *__va) { return CreateLeg(*__va->__fbb, __va->__o->legs[i].get(), __va->__rehasher); }, &_va ) : 0;
2269 return osrm::engine::api::fbresult::CreateRouteObject(
2270 _fbb,
2271 _distance,
2272 _duration,
2273 _weight,
2274 _weight_name,
2275 _confidence,
2276 _polyline,
2277 _coordinates,
2278 _legs);
2279 }
2280
UnPack(const flatbuffers::resolver_function_t * _resolver)2281 inline TableT *Table::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
2282 auto _o = new TableT();
2283 UnPackTo(_o, _resolver);
2284 return _o;
2285 }
2286
UnPackTo(TableT * _o,const flatbuffers::resolver_function_t * _resolver)2287 inline void Table::UnPackTo(TableT *_o, const flatbuffers::resolver_function_t *_resolver) const {
2288 (void)_o;
2289 (void)_resolver;
2290 { auto _e = durations(); if (_e) { _o->durations.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->durations[_i] = _e->Get(_i); } } };
2291 { auto _e = rows(); _o->rows = _e; };
2292 { auto _e = cols(); _o->cols = _e; };
2293 { auto _e = distances(); if (_e) { _o->distances.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->distances[_i] = _e->Get(_i); } } };
2294 { auto _e = destinations(); if (_e) { _o->destinations.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->destinations[_i] = std::unique_ptr<osrm::engine::api::fbresult::WaypointT>(_e->Get(_i)->UnPack(_resolver)); } } };
2295 { auto _e = fallback_speed_cells(); if (_e) { _o->fallback_speed_cells.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->fallback_speed_cells[_i] = _e->Get(_i); } } };
2296 }
2297
Pack(flatbuffers::FlatBufferBuilder & _fbb,const TableT * _o,const flatbuffers::rehasher_function_t * _rehasher)2298 inline flatbuffers::Offset<Table> Table::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TableT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
2299 return CreateTable(_fbb, _o, _rehasher);
2300 }
2301
CreateTable(flatbuffers::FlatBufferBuilder & _fbb,const TableT * _o,const flatbuffers::rehasher_function_t * _rehasher)2302 inline flatbuffers::Offset<Table> CreateTable(flatbuffers::FlatBufferBuilder &_fbb, const TableT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
2303 (void)_rehasher;
2304 (void)_o;
2305 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TableT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
2306 auto _durations = _o->durations.size() ? _fbb.CreateVector(_o->durations) : 0;
2307 auto _rows = _o->rows;
2308 auto _cols = _o->cols;
2309 auto _distances = _o->distances.size() ? _fbb.CreateVector(_o->distances) : 0;
2310 auto _destinations = _o->destinations.size() ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>> (_o->destinations.size(), [](size_t i, _VectorArgs *__va) { return CreateWaypoint(*__va->__fbb, __va->__o->destinations[i].get(), __va->__rehasher); }, &_va ) : 0;
2311 auto _fallback_speed_cells = _o->fallback_speed_cells.size() ? _fbb.CreateVector(_o->fallback_speed_cells) : 0;
2312 return osrm::engine::api::fbresult::CreateTable(
2313 _fbb,
2314 _durations,
2315 _rows,
2316 _cols,
2317 _distances,
2318 _destinations,
2319 _fallback_speed_cells);
2320 }
2321
UnPack(const flatbuffers::resolver_function_t * _resolver)2322 inline ErrorT *Error::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
2323 auto _o = new ErrorT();
2324 UnPackTo(_o, _resolver);
2325 return _o;
2326 }
2327
UnPackTo(ErrorT * _o,const flatbuffers::resolver_function_t * _resolver)2328 inline void Error::UnPackTo(ErrorT *_o, const flatbuffers::resolver_function_t *_resolver) const {
2329 (void)_o;
2330 (void)_resolver;
2331 { auto _e = code(); if (_e) _o->code = _e->str(); };
2332 { auto _e = message(); if (_e) _o->message = _e->str(); };
2333 }
2334
Pack(flatbuffers::FlatBufferBuilder & _fbb,const ErrorT * _o,const flatbuffers::rehasher_function_t * _rehasher)2335 inline flatbuffers::Offset<Error> Error::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ErrorT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
2336 return CreateError(_fbb, _o, _rehasher);
2337 }
2338
CreateError(flatbuffers::FlatBufferBuilder & _fbb,const ErrorT * _o,const flatbuffers::rehasher_function_t * _rehasher)2339 inline flatbuffers::Offset<Error> CreateError(flatbuffers::FlatBufferBuilder &_fbb, const ErrorT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
2340 (void)_rehasher;
2341 (void)_o;
2342 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ErrorT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
2343 auto _code = _o->code.empty() ? 0 : _fbb.CreateString(_o->code);
2344 auto _message = _o->message.empty() ? 0 : _fbb.CreateString(_o->message);
2345 return osrm::engine::api::fbresult::CreateError(
2346 _fbb,
2347 _code,
2348 _message);
2349 }
2350
UnPack(const flatbuffers::resolver_function_t * _resolver)2351 inline FBResultT *FBResult::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
2352 auto _o = new FBResultT();
2353 UnPackTo(_o, _resolver);
2354 return _o;
2355 }
2356
UnPackTo(FBResultT * _o,const flatbuffers::resolver_function_t * _resolver)2357 inline void FBResult::UnPackTo(FBResultT *_o, const flatbuffers::resolver_function_t *_resolver) const {
2358 (void)_o;
2359 (void)_resolver;
2360 { auto _e = error(); _o->error = _e; };
2361 { auto _e = code(); if (_e) _o->code = std::unique_ptr<osrm::engine::api::fbresult::ErrorT>(_e->UnPack(_resolver)); };
2362 { auto _e = data_version(); if (_e) _o->data_version = _e->str(); };
2363 { auto _e = waypoints(); if (_e) { _o->waypoints.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->waypoints[_i] = std::unique_ptr<osrm::engine::api::fbresult::WaypointT>(_e->Get(_i)->UnPack(_resolver)); } } };
2364 { auto _e = routes(); if (_e) { _o->routes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->routes[_i] = std::unique_ptr<osrm::engine::api::fbresult::RouteObjectT>(_e->Get(_i)->UnPack(_resolver)); } } };
2365 { auto _e = table(); if (_e) _o->table = std::unique_ptr<osrm::engine::api::fbresult::TableT>(_e->UnPack(_resolver)); };
2366 }
2367
Pack(flatbuffers::FlatBufferBuilder & _fbb,const FBResultT * _o,const flatbuffers::rehasher_function_t * _rehasher)2368 inline flatbuffers::Offset<FBResult> FBResult::Pack(flatbuffers::FlatBufferBuilder &_fbb, const FBResultT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
2369 return CreateFBResult(_fbb, _o, _rehasher);
2370 }
2371
CreateFBResult(flatbuffers::FlatBufferBuilder & _fbb,const FBResultT * _o,const flatbuffers::rehasher_function_t * _rehasher)2372 inline flatbuffers::Offset<FBResult> CreateFBResult(flatbuffers::FlatBufferBuilder &_fbb, const FBResultT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
2373 (void)_rehasher;
2374 (void)_o;
2375 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const FBResultT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
2376 auto _error = _o->error;
2377 auto _code = _o->code ? CreateError(_fbb, _o->code.get(), _rehasher) : 0;
2378 auto _data_version = _o->data_version.empty() ? 0 : _fbb.CreateString(_o->data_version);
2379 auto _waypoints = _o->waypoints.size() ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::Waypoint>> (_o->waypoints.size(), [](size_t i, _VectorArgs *__va) { return CreateWaypoint(*__va->__fbb, __va->__o->waypoints[i].get(), __va->__rehasher); }, &_va ) : 0;
2380 auto _routes = _o->routes.size() ? _fbb.CreateVector<flatbuffers::Offset<osrm::engine::api::fbresult::RouteObject>> (_o->routes.size(), [](size_t i, _VectorArgs *__va) { return CreateRouteObject(*__va->__fbb, __va->__o->routes[i].get(), __va->__rehasher); }, &_va ) : 0;
2381 auto _table = _o->table ? CreateTable(_fbb, _o->table.get(), _rehasher) : 0;
2382 return osrm::engine::api::fbresult::CreateFBResult(
2383 _fbb,
2384 _error,
2385 _code,
2386 _data_version,
2387 _waypoints,
2388 _routes,
2389 _table);
2390 }
2391
GetFBResult(const void * buf)2392 inline const osrm::engine::api::fbresult::FBResult *GetFBResult(const void *buf) {
2393 return flatbuffers::GetRoot<osrm::engine::api::fbresult::FBResult>(buf);
2394 }
2395
GetSizePrefixedFBResult(const void * buf)2396 inline const osrm::engine::api::fbresult::FBResult *GetSizePrefixedFBResult(const void *buf) {
2397 return flatbuffers::GetSizePrefixedRoot<osrm::engine::api::fbresult::FBResult>(buf);
2398 }
2399
VerifyFBResultBuffer(flatbuffers::Verifier & verifier)2400 inline bool VerifyFBResultBuffer(
2401 flatbuffers::Verifier &verifier) {
2402 return verifier.VerifyBuffer<osrm::engine::api::fbresult::FBResult>(nullptr);
2403 }
2404
VerifySizePrefixedFBResultBuffer(flatbuffers::Verifier & verifier)2405 inline bool VerifySizePrefixedFBResultBuffer(
2406 flatbuffers::Verifier &verifier) {
2407 return verifier.VerifySizePrefixedBuffer<osrm::engine::api::fbresult::FBResult>(nullptr);
2408 }
2409
FinishFBResultBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<osrm::engine::api::fbresult::FBResult> root)2410 inline void FinishFBResultBuffer(
2411 flatbuffers::FlatBufferBuilder &fbb,
2412 flatbuffers::Offset<osrm::engine::api::fbresult::FBResult> root) {
2413 fbb.Finish(root);
2414 }
2415
FinishSizePrefixedFBResultBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<osrm::engine::api::fbresult::FBResult> root)2416 inline void FinishSizePrefixedFBResultBuffer(
2417 flatbuffers::FlatBufferBuilder &fbb,
2418 flatbuffers::Offset<osrm::engine::api::fbresult::FBResult> root) {
2419 fbb.FinishSizePrefixed(root);
2420 }
2421
2422 inline std::unique_ptr<osrm::engine::api::fbresult::FBResultT> UnPackFBResult(
2423 const void *buf,
2424 const flatbuffers::resolver_function_t *res = nullptr) {
2425 return std::unique_ptr<osrm::engine::api::fbresult::FBResultT>(GetFBResult(buf)->UnPack(res));
2426 }
2427
2428 inline std::unique_ptr<osrm::engine::api::fbresult::FBResultT> UnPackSizePrefixedFBResult(
2429 const void *buf,
2430 const flatbuffers::resolver_function_t *res = nullptr) {
2431 return std::unique_ptr<osrm::engine::api::fbresult::FBResultT>(GetSizePrefixedFBResult(buf)->UnPack(res));
2432 }
2433
2434 } // namespace fbresult
2435 } // namespace api
2436 } // namespace engine
2437 } // namespace osrm
2438
2439 #endif // FLATBUFFERS_GENERATED_FBRESULT_OSRM_ENGINE_API_FBRESULT_H_
2440