/srv/osrm/osrm-backend/include/engine/api/flatbuffers
Edit: /srv/osrm/osrm-backend/include/engine/api/flatbuffers/fbresult_generated.h (101488B)
// automatically generated by the FlatBuffers compiler, do not modify
#ifndef FLATBUFFERS_GENERATED_FBRESULT_OSRM_ENGINE_API_FBRESULT_H_
#define FLATBUFFERS_GENERATED_FBRESULT_OSRM_ENGINE_API_FBRESULT_H_
#include "flatbuffers/flatbuffers.h"
namespace osrm::engine::api::fbresult {
struct Position;
struct Uint64Pair;
struct Waypoint;
struct WaypointT;
struct Metadata;
struct MetadataT;
struct Annotation;
struct AnnotationT;
struct StepManeuver;
struct StepManeuverT;
struct Lane;
struct LaneT;
struct Intersection;
struct IntersectionT;
struct Step;
struct StepT;
struct Leg;
struct LegT;
struct RouteObject;
struct RouteObjectT;
struct Table;
struct TableT;
struct Error;
struct ErrorT;
struct FBResult;
struct FBResultT;
enum ManeuverType {
ManeuverType_Turn = 0,
ManeuverType_NewName = 1,
ManeuverType_Depart = 2,
ManeuverType_Arrive = 3,
ManeuverType_Merge = 4,
ManeuverType_OnRamp = 5,
ManeuverType_OffRamp = 6,
ManeuverType_Fork = 7,
ManeuverType_EndOfRoad = 8,
ManeuverType_Continue = 9,
ManeuverType_Roundabout = 10,
ManeuverType_Rotary = 11,
ManeuverType_RoundaboutTurn = 12,
ManeuverType_Notification = 13,
ManeuverType_ExitRoundabout = 14,
ManeuverType_ExitRotary = 15,
ManeuverType_MIN = ManeuverType_Turn,
ManeuverType_MAX = ManeuverType_ExitRotary
};
inline const ManeuverType (&EnumValuesManeuverType())[16] {
static const ManeuverType values[] = {
ManeuverType_Turn,
ManeuverType_NewName,
ManeuverType_Depart,
ManeuverType_Arrive,
ManeuverType_Merge,
ManeuverType_OnRamp,
ManeuverType_OffRamp,
ManeuverType_Fork,
ManeuverType_EndOfRoad,
ManeuverType_Continue,
ManeuverType_Roundabout,
ManeuverType_Rotary,
ManeuverType_RoundaboutTurn,
ManeuverType_Notification,
ManeuverType_ExitRoundabout,
ManeuverType_ExitRotary
};
return values;
}
inline const char * const *EnumNamesManeuverType() {
static const char * const names[17] = {
"Turn",
"NewName",
"Depart",
"Arrive",
"Merge",
"OnRamp",
"OffRamp",
"Fork",
"EndOfRoad",
"Continue",
"Roundabout",
"Rotary",
"RoundaboutTurn",
"Notification",
"ExitRoundabout",
"ExitRotary",
nullptr
};
return names;
}
inline const char *EnumNameManeuverType(ManeuverType e) {
if (e < ManeuverType_Turn || e > ManeuverType_ExitRotary) return "";
const size_t index = static_cast
(e);
return EnumNamesManeuverType()[index];
}
enum Turn {
Turn_None = 0,
Turn_UTurn = 1,
Turn_SharpRight = 2,
Turn_Right = 3,
Turn_SlightRight = 4,
Turn_Straight = 5,
Turn_SlightLeft = 6,
Turn_Left = 7,
Turn_SharpLeft = 8,
Turn_MIN = Turn_None,
Turn_MAX = Turn_SharpLeft
};
inline const Turn (&EnumValuesTurn())[9] {
static const Turn values[] = {
Turn_None,
Turn_UTurn,
Turn_SharpRight,
Turn_Right,
Turn_SlightRight,
Turn_Straight,
Turn_SlightLeft,
Turn_Left,
Turn_SharpLeft
};
return values;
}
inline const char * const *EnumNamesTurn() {
static const char * const names[10] = {
"None",
"UTurn",
"SharpRight",
"Right",
"SlightRight",
"Straight",
"SlightLeft",
"Left",
"SharpLeft",
nullptr
};
return names;
}
inline const char *EnumNameTurn(Turn e) {
if (e < Turn_None || e > Turn_SharpLeft) return "";
const size_t index = static_cast(e);
return EnumNamesTurn()[index];
}
FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Position FLATBUFFERS_FINAL_CLASS {
private:
float longitude_;
float latitude_;
public:
Position() {
memset(static_cast(this), 0, sizeof(Position));
}
Position(float _longitude, float _latitude)
: longitude_(flatbuffers::EndianScalar(_longitude)),
latitude_(flatbuffers::EndianScalar(_latitude)) {
}
float longitude() const {
return flatbuffers::EndianScalar(longitude_);
}
float latitude() const {
return flatbuffers::EndianScalar(latitude_);
}
};
FLATBUFFERS_STRUCT_END(Position, 8);
FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(8) Uint64Pair FLATBUFFERS_FINAL_CLASS {
private:
uint64_t first_;
uint64_t second_;
public:
Uint64Pair() {
memset(static_cast(this), 0, sizeof(Uint64Pair));
}
Uint64Pair(uint64_t _first, uint64_t _second)
: first_(flatbuffers::EndianScalar(_first)),
second_(flatbuffers::EndianScalar(_second)) {
}
uint64_t first() const {
return flatbuffers::EndianScalar(first_);
}
uint64_t second() const {
return flatbuffers::EndianScalar(second_);
}
};
FLATBUFFERS_STRUCT_END(Uint64Pair, 16);
struct WaypointT : public flatbuffers::NativeTable {
using TableType = Waypoint;
std::string hint;
float distance;
std::string name;
std::unique_ptr location;
std::unique_ptr nodes;
uint32_t matchings_index;
uint32_t waypoint_index;
uint32_t alternatives_count;
uint32_t trips_index;
WaypointT()
: distance(0.0f),
matchings_index(0),
waypoint_index(0),
alternatives_count(0),
trips_index(0) {
}
};
struct Waypoint FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
using NativeTableType = WaypointT;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_HINT = 4,
VT_DISTANCE = 6,
VT_NAME = 8,
VT_LOCATION = 10,
VT_NODES = 12,
VT_MATCHINGS_INDEX = 14,
VT_WAYPOINT_INDEX = 16,
VT_ALTERNATIVES_COUNT = 18,
VT_TRIPS_INDEX = 20
};
const flatbuffers::String *hint() const {
return GetPointer(VT_HINT);
}
float distance() const {
return GetField(VT_DISTANCE, 0.0f);
}
const flatbuffers::String *name() const {
return GetPointer(VT_NAME);
}
const osrm::engine::api::fbresult::Position *location() const {
return GetStruct(VT_LOCATION);
}
const osrm::engine::api::fbresult::Uint64Pair *nodes() const {
return GetStruct(VT_NODES);
}
uint32_t matchings_index() const {
return GetField(VT_MATCHINGS_INDEX, 0);
}
uint32_t waypoint_index() const {
return GetField(VT_WAYPOINT_INDEX, 0);
}
uint32_t alternatives_count() const {
return GetField(VT_ALTERNATIVES_COUNT, 0);
}
uint32_t trips_index() const {
return GetField(VT_TRIPS_INDEX, 0);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_HINT) &&
verifier.VerifyString(hint()) &&
VerifyField(verifier, VT_DISTANCE) &&
VerifyOffset(verifier, VT_NAME) &&
verifier.VerifyString(name()) &&
VerifyField(verifier, VT_LOCATION) &&
VerifyField(verifier, VT_NODES) &&
VerifyField(verifier, VT_MATCHINGS_INDEX) &&
VerifyField(verifier, VT_WAYPOINT_INDEX) &&
VerifyField(verifier, VT_ALTERNATIVES_COUNT) &&
VerifyField(verifier, VT_TRIPS_INDEX) &&
verifier.EndTable();
}
WaypointT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
void UnPackTo(WaypointT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const WaypointT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
};
struct WaypointBuilder {
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_hint(flatbuffers::Offset hint) {
fbb_.AddOffset(Waypoint::VT_HINT, hint);
}
void add_distance(float distance) {
fbb_.AddElement(Waypoint::VT_DISTANCE, distance, 0.0f);
}
void add_name(flatbuffers::Offset name) {
fbb_.AddOffset(Waypoint::VT_NAME, name);
}
void add_location(const osrm::engine::api::fbresult::Position *location) {
fbb_.AddStruct(Waypoint::VT_LOCATION, location);
}
void add_nodes(const osrm::engine::api::fbresult::Uint64Pair *nodes) {
fbb_.AddStruct(Waypoint::VT_NODES, nodes);
}
void add_matchings_index(uint32_t matchings_index) {
fbb_.AddElement(Waypoint::VT_MATCHINGS_INDEX, matchings_index, 0);
}
void add_waypoint_index(uint32_t waypoint_index) {
fbb_.AddElement(Waypoint::VT_WAYPOINT_INDEX, waypoint_index, 0);
}
void add_alternatives_count(uint32_t alternatives_count) {
fbb_.AddElement(Waypoint::VT_ALTERNATIVES_COUNT, alternatives_count, 0);
}
void add_trips_index(uint32_t trips_index) {
fbb_.AddElement(Waypoint::VT_TRIPS_INDEX, trips_index, 0);
}
explicit WaypointBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
WaypointBuilder &operator=(const WaypointBuilder &);
flatbuffers::Offset Finish() {
const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset(end);
return o;
}
};
inline flatbuffers::Offset CreateWaypoint(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset hint = 0,
float distance = 0.0f,
flatbuffers::Offset name = 0,
const osrm::engine::api::fbresult::Position *location = 0,
const osrm::engine::api::fbresult::Uint64Pair *nodes = 0,
uint32_t matchings_index = 0,
uint32_t waypoint_index = 0,
uint32_t alternatives_count = 0,
uint32_t trips_index = 0) {
WaypointBuilder builder_(_fbb);
builder_.add_trips_index(trips_index);
builder_.add_alternatives_count(alternatives_count);
builder_.add_waypoint_index(waypoint_index);
builder_.add_matchings_index(matchings_index);
builder_.add_nodes(nodes);
builder_.add_location(location);
builder_.add_name(name);
builder_.add_distance(distance);
builder_.add_hint(hint);
return builder_.Finish();
}
inline flatbuffers::Offset CreateWaypointDirect(
flatbuffers::FlatBufferBuilder &_fbb,
const char *hint = nullptr,
float distance = 0.0f,
const char *name = nullptr,
const osrm::engine::api::fbresult::Position *location = 0,
const osrm::engine::api::fbresult::Uint64Pair *nodes = 0,
uint32_t matchings_index = 0,
uint32_t waypoint_index = 0,
uint32_t alternatives_count = 0,
uint32_t trips_index = 0) {
auto hint__ = hint ? _fbb.CreateString(hint) : 0;
auto name__ = name ? _fbb.CreateString(name) : 0;
return osrm::engine::api::fbresult::CreateWaypoint(
_fbb,
hint__,
distance,
name__,
location,
nodes,
matchings_index,
waypoint_index,
alternatives_count,
trips_index);
}
flatbuffers::Offset CreateWaypoint(flatbuffers::FlatBufferBuilder &_fbb, const WaypointT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct MetadataT : public flatbuffers::NativeTable {
using TableType = Metadata;
std::vector datasource_names;
MetadataT() {
}
};
struct Metadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
using NativeTableType = MetadataT;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_DATASOURCE_NAMES = 4
};
const flatbuffers::Vector> *datasource_names() const {
return GetPointer> *>(VT_DATASOURCE_NAMES);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_DATASOURCE_NAMES) &&
verifier.VerifyVector(datasource_names()) &&
verifier.VerifyVectorOfStrings(datasource_names()) &&
verifier.EndTable();
}
MetadataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
void UnPackTo(MetadataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
};
struct MetadataBuilder {
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_datasource_names(flatbuffers::Offset>> datasource_names) {
fbb_.AddOffset(Metadata::VT_DATASOURCE_NAMES, datasource_names);
}
explicit MetadataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
MetadataBuilder &operator=(const MetadataBuilder &);
flatbuffers::Offset Finish() {
const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset(end);
return o;
}
};
inline flatbuffers::Offset CreateMetadata(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset>> datasource_names = 0) {
MetadataBuilder builder_(_fbb);
builder_.add_datasource_names(datasource_names);
return builder_.Finish();
}
inline flatbuffers::Offset CreateMetadataDirect(
flatbuffers::FlatBufferBuilder &_fbb,
const std::vector> *datasource_names = nullptr) {
auto datasource_names__ = datasource_names ? _fbb.CreateVector>(*datasource_names) : 0;
return osrm::engine::api::fbresult::CreateMetadata(
_fbb,
datasource_names__);
}
flatbuffers::Offset CreateMetadata(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct AnnotationT : public flatbuffers::NativeTable {
using TableType = Annotation;
std::vector distance;
std::vector duration;
std::vector datasources;
std::vector nodes;
std::vector weight;
std::vector speed;
std::unique_ptr metadata;
AnnotationT() {
}
};
struct Annotation FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
using NativeTableType = AnnotationT;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_DISTANCE = 4,
VT_DURATION = 6,
VT_DATASOURCES = 8,
VT_NODES = 10,
VT_WEIGHT = 12,
VT_SPEED = 14,
VT_METADATA = 16
};
const flatbuffers::Vector *distance() const {
return GetPointer *>(VT_DISTANCE);
}
const flatbuffers::Vector *duration() const {
return GetPointer *>(VT_DURATION);
}
const flatbuffers::Vector *datasources() const {
return GetPointer *>(VT_DATASOURCES);
}
const flatbuffers::Vector *nodes() const {
return GetPointer *>(VT_NODES);
}
const flatbuffers::Vector *weight() const {
return GetPointer *>(VT_WEIGHT);
}
const flatbuffers::Vector *speed() const {
return GetPointer *>(VT_SPEED);
}
const osrm::engine::api::fbresult::Metadata *metadata() const {
return GetPointer(VT_METADATA);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_DISTANCE) &&
verifier.VerifyVector(distance()) &&
VerifyOffset(verifier, VT_DURATION) &&
verifier.VerifyVector(duration()) &&
VerifyOffset(verifier, VT_DATASOURCES) &&
verifier.VerifyVector(datasources()) &&
VerifyOffset(verifier, VT_NODES) &&
verifier.VerifyVector(nodes()) &&
VerifyOffset(verifier, VT_WEIGHT) &&
verifier.VerifyVector(weight()) &&
VerifyOffset(verifier, VT_SPEED) &&
verifier.VerifyVector(speed()) &&
VerifyOffset(verifier, VT_METADATA) &&
verifier.VerifyTable(metadata()) &&
verifier.EndTable();
}
AnnotationT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
void UnPackTo(AnnotationT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AnnotationT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
};
struct AnnotationBuilder {
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_distance(flatbuffers::Offset> distance) {
fbb_.AddOffset(Annotation::VT_DISTANCE, distance);
}
void add_duration(flatbuffers::Offset> duration) {
fbb_.AddOffset(Annotation::VT_DURATION, duration);
}
void add_datasources(flatbuffers::Offset> datasources) {
fbb_.AddOffset(Annotation::VT_DATASOURCES, datasources);
}
void add_nodes(flatbuffers::Offset> nodes) {
fbb_.AddOffset(Annotation::VT_NODES, nodes);
}
void add_weight(flatbuffers::Offset> weight) {
fbb_.AddOffset(Annotation::VT_WEIGHT, weight);
}
void add_speed(flatbuffers::Offset> speed) {
fbb_.AddOffset(Annotation::VT_SPEED, speed);
}
void add_metadata(flatbuffers::Offset metadata) {
fbb_.AddOffset(Annotation::VT_METADATA, metadata);
}
explicit AnnotationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
AnnotationBuilder &operator=(const AnnotationBuilder &);
flatbuffers::Offset Finish() {
const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset(end);
return o;
}
};
inline flatbuffers::Offset CreateAnnotation(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset> distance = 0,
flatbuffers::Offset> duration = 0,
flatbuffers::Offset> datasources = 0,
flatbuffers::Offset> nodes = 0,
flatbuffers::Offset> weight = 0,
flatbuffers::Offset> speed = 0,
flatbuffers::Offset metadata = 0) {
AnnotationBuilder builder_(_fbb);
builder_.add_metadata(metadata);
builder_.add_speed(speed);
builder_.add_weight(weight);
builder_.add_nodes(nodes);
builder_.add_datasources(datasources);
builder_.add_duration(duration);
builder_.add_distance(distance);
return builder_.Finish();
}
inline flatbuffers::Offset CreateAnnotationDirect(
flatbuffers::FlatBufferBuilder &_fbb,
const std::vector *distance = nullptr,
const std::vector *duration = nullptr,
const std::vector *datasources = nullptr,
const std::vector *nodes = nullptr,
const std::vector *weight = nullptr,
const std::vector *speed = nullptr,
flatbuffers::Offset metadata = 0) {
auto distance__ = distance ? _fbb.CreateVector(*distance) : 0;
auto duration__ = duration ? _fbb.CreateVector(*duration) : 0;
auto datasources__ = datasources ? _fbb.CreateVector(*datasources) : 0;
auto nodes__ = nodes ? _fbb.CreateVector(*nodes) : 0;
auto weight__ = weight ? _fbb.CreateVector(*weight) : 0;
auto speed__ = speed ? _fbb.CreateVector(*speed) : 0;
return osrm::engine::api::fbresult::CreateAnnotation(
_fbb,
distance__,
duration__,
datasources__,
nodes__,
weight__,
speed__,
metadata);
}
flatbuffers::Offset CreateAnnotation(flatbuffers::FlatBufferBuilder &_fbb, const AnnotationT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct StepManeuverT : public flatbuffers::NativeTable {
using TableType = StepManeuver;
std::unique_ptr location;
uint16_t bearing_before;
uint16_t bearing_after;
osrm::engine::api::fbresult::ManeuverType type;
osrm::engine::api::fbresult::Turn modifier;
uint8_t exit;
StepManeuverT()
: bearing_before(0),
bearing_after(0),
type(osrm::engine::api::fbresult::ManeuverType_Turn),
modifier(osrm::engine::api::fbresult::Turn_None),
exit(0) {
}
};
struct StepManeuver FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
using NativeTableType = StepManeuverT;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_LOCATION = 4,
VT_BEARING_BEFORE = 6,
VT_BEARING_AFTER = 8,
VT_TYPE = 10,
VT_MODIFIER = 12,
VT_EXIT = 14
};
const osrm::engine::api::fbresult::Position *location() const {
return GetStruct(VT_LOCATION);
}
uint16_t bearing_before() const {
return GetField(VT_BEARING_BEFORE, 0);
}
uint16_t bearing_after() const {
return GetField(VT_BEARING_AFTER, 0);
}
osrm::engine::api::fbresult::ManeuverType type() const {
return static_cast(GetField(VT_TYPE, 0));
}
osrm::engine::api::fbresult::Turn modifier() const {
return static_cast(GetField(VT_MODIFIER, 0));
}
uint8_t exit() const {
return GetField(VT_EXIT, 0);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField(verifier, VT_LOCATION) &&
VerifyField(verifier, VT_BEARING_BEFORE) &&
VerifyField(verifier, VT_BEARING_AFTER) &&
VerifyField(verifier, VT_TYPE) &&
VerifyField(verifier, VT_MODIFIER) &&
VerifyField(verifier, VT_EXIT) &&
verifier.EndTable();
}
StepManeuverT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
void UnPackTo(StepManeuverT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const StepManeuverT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
};
struct StepManeuverBuilder {
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_location(const osrm::engine::api::fbresult::Position *location) {
fbb_.AddStruct(StepManeuver::VT_LOCATION, location);
}
void add_bearing_before(uint16_t bearing_before) {
fbb_.AddElement(StepManeuver::VT_BEARING_BEFORE, bearing_before, 0);
}
void add_bearing_after(uint16_t bearing_after) {
fbb_.AddElement(StepManeuver::VT_BEARING_AFTER, bearing_after, 0);
}
void add_type(osrm::engine::api::fbresult::ManeuverType type) {
fbb_.AddElement(StepManeuver::VT_TYPE, static_cast(type), 0);
}
void add_modifier(osrm::engine::api::fbresult::Turn modifier) {
fbb_.AddElement(StepManeuver::VT_MODIFIER, static_cast(modifier), 0);
}
void add_exit(uint8_t exit) {
fbb_.AddElement(StepManeuver::VT_EXIT, exit, 0);
}
explicit StepManeuverBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
StepManeuverBuilder &operator=(const StepManeuverBuilder &);
flatbuffers::Offset Finish() {
const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset(end);
return o;
}
};
inline flatbuffers::Offset CreateStepManeuver(
flatbuffers::FlatBufferBuilder &_fbb,
const osrm::engine::api::fbresult::Position *location = 0,
uint16_t bearing_before = 0,
uint16_t bearing_after = 0,
osrm::engine::api::fbresult::ManeuverType type = osrm::engine::api::fbresult::ManeuverType_Turn,
osrm::engine::api::fbresult::Turn modifier = osrm::engine::api::fbresult::Turn_None,
uint8_t exit = 0) {
StepManeuverBuilder builder_(_fbb);
builder_.add_location(location);
builder_.add_bearing_after(bearing_after);
builder_.add_bearing_before(bearing_before);
builder_.add_exit(exit);
builder_.add_modifier(modifier);
builder_.add_type(type);
return builder_.Finish();
}
flatbuffers::Offset CreateStepManeuver(flatbuffers::FlatBufferBuilder &_fbb, const StepManeuverT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct LaneT : public flatbuffers::NativeTable {
using TableType = Lane;
std::vector indications;
bool valid;
LaneT()
: valid(false) {
}
};
struct Lane FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
using NativeTableType = LaneT;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_INDICATIONS = 4,
VT_VALID = 6
};
const flatbuffers::Vector *indications() const {
return GetPointer *>(VT_INDICATIONS);
}
bool valid() const {
return GetField(VT_VALID, 0) != 0;
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_INDICATIONS) &&
verifier.VerifyVector(indications()) &&
VerifyField(verifier, VT_VALID) &&
verifier.EndTable();
}
LaneT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
void UnPackTo(LaneT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LaneT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
};
struct LaneBuilder {
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_indications(flatbuffers::Offset> indications) {
fbb_.AddOffset(Lane::VT_INDICATIONS, indications);
}
void add_valid(bool valid) {
fbb_.AddElement(Lane::VT_VALID, static_cast(valid), 0);
}
explicit LaneBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
LaneBuilder &operator=(const LaneBuilder &);
flatbuffers::Offset Finish() {
const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset(end);
return o;
}
};
inline flatbuffers::Offset CreateLane(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset> indications = 0,
bool valid = false) {
LaneBuilder builder_(_fbb);
builder_.add_indications(indications);
builder_.add_valid(valid);
return builder_.Finish();
}
inline flatbuffers::Offset CreateLaneDirect(
flatbuffers::FlatBufferBuilder &_fbb,
const std::vector *indications = nullptr,
bool valid = false) {
auto indications__ = indications ? _fbb.CreateVector(*indications) : 0;
return osrm::engine::api::fbresult::CreateLane(
_fbb,
indications__,
valid);
}
flatbuffers::Offset CreateLane(flatbuffers::FlatBufferBuilder &_fbb, const LaneT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct IntersectionT : public flatbuffers::NativeTable {
using TableType = Intersection;
std::unique_ptr location;
std::vector bearings;
std::vector classes;
std::vector entry;
uint32_t in_bearing;
uint32_t out_bearing;
std::vector> lanes;
IntersectionT()
: in_bearing(0),
out_bearing(0) {
}
};
struct Intersection FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
using NativeTableType = IntersectionT;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_LOCATION = 4,
VT_BEARINGS = 6,
VT_CLASSES = 8,
VT_ENTRY = 10,
VT_IN_BEARING = 12,
VT_OUT_BEARING = 14,
VT_LANES = 16
};
const osrm::engine::api::fbresult::Position *location() const {
return GetStruct(VT_LOCATION);
}
const flatbuffers::Vector *bearings() const {
return GetPointer *>(VT_BEARINGS);
}
const flatbuffers::Vector> *classes() const {
return GetPointer> *>(VT_CLASSES);
}
const flatbuffers::Vector *entry() const {
return GetPointer *>(VT_ENTRY);
}
uint32_t in_bearing() const {
return GetField(VT_IN_BEARING, 0);
}
uint32_t out_bearing() const {
return GetField(VT_OUT_BEARING, 0);
}
const flatbuffers::Vector> *lanes() const {
return GetPointer> *>(VT_LANES);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField(verifier, VT_LOCATION) &&
VerifyOffset(verifier, VT_BEARINGS) &&
verifier.VerifyVector(bearings()) &&
VerifyOffset(verifier, VT_CLASSES) &&
verifier.VerifyVector(classes()) &&
verifier.VerifyVectorOfStrings(classes()) &&
VerifyOffset(verifier, VT_ENTRY) &&
verifier.VerifyVector(entry()) &&
VerifyField(verifier, VT_IN_BEARING) &&
VerifyField(verifier, VT_OUT_BEARING) &&
VerifyOffset(verifier, VT_LANES) &&
verifier.VerifyVector(lanes()) &&
verifier.VerifyVectorOfTables(lanes()) &&
verifier.EndTable();
}
IntersectionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
void UnPackTo(IntersectionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const IntersectionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
};
struct IntersectionBuilder {
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_location(const osrm::engine::api::fbresult::Position *location) {
fbb_.AddStruct(Intersection::VT_LOCATION, location);
}
void add_bearings(flatbuffers::Offset> bearings) {
fbb_.AddOffset(Intersection::VT_BEARINGS, bearings);
}
void add_classes(flatbuffers::Offset>> classes) {
fbb_.AddOffset(Intersection::VT_CLASSES, classes);
}
void add_entry(flatbuffers::Offset> entry) {
fbb_.AddOffset(Intersection::VT_ENTRY, entry);
}
void add_in_bearing(uint32_t in_bearing) {
fbb_.AddElement(Intersection::VT_IN_BEARING, in_bearing, 0);
}
void add_out_bearing(uint32_t out_bearing) {
fbb_.AddElement(Intersection::VT_OUT_BEARING, out_bearing, 0);
}
void add_lanes(flatbuffers::Offset>> lanes) {
fbb_.AddOffset(Intersection::VT_LANES, lanes);
}
explicit IntersectionBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
IntersectionBuilder &operator=(const IntersectionBuilder &);
flatbuffers::Offset Finish() {
const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset(end);
return o;
}
};
inline flatbuffers::Offset CreateIntersection(
flatbuffers::FlatBufferBuilder &_fbb,
const osrm::engine::api::fbresult::Position *location = 0,
flatbuffers::Offset> bearings = 0,
flatbuffers::Offset>> classes = 0,
flatbuffers::Offset> entry = 0,
uint32_t in_bearing = 0,
uint32_t out_bearing = 0,
flatbuffers::Offset>> lanes = 0) {
IntersectionBuilder builder_(_fbb);
builder_.add_lanes(lanes);
builder_.add_out_bearing(out_bearing);
builder_.add_in_bearing(in_bearing);
builder_.add_entry(entry);
builder_.add_classes(classes);
builder_.add_bearings(bearings);
builder_.add_location(location);
return builder_.Finish();
}
inline flatbuffers::Offset CreateIntersectionDirect(
flatbuffers::FlatBufferBuilder &_fbb,
const osrm::engine::api::fbresult::Position *location = 0,
const std::vector *bearings = nullptr,
const std::vector> *classes = nullptr,
const std::vector *entry = nullptr,
uint32_t in_bearing = 0,
uint32_t out_bearing = 0,
const std::vector> *lanes = nullptr) {
auto bearings__ = bearings ? _fbb.CreateVector(*bearings) : 0;
auto classes__ = classes ? _fbb.CreateVector>(*classes) : 0;
auto entry__ = entry ? _fbb.CreateVector(*entry) : 0;
auto lanes__ = lanes ? _fbb.CreateVector>(*lanes) : 0;
return osrm::engine::api::fbresult::CreateIntersection(
_fbb,
location,
bearings__,
classes__,
entry__,
in_bearing,
out_bearing,
lanes__);
}
flatbuffers::Offset CreateIntersection(flatbuffers::FlatBufferBuilder &_fbb, const IntersectionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct StepT : public flatbuffers::NativeTable {
using TableType = Step;
float distance;
float duration;
std::string polyline;
std::vector coordinates;
float weight;
std::string name;
std::string ref;
std::string pronunciation;
std::string destinations;
std::string exits;
std::string mode;
std::unique_ptr maneuver;
std::vector> intersections;
std::string rotary_name;
std::string rotary_pronunciation;
bool driving_side;
StepT()
: distance(0.0f),
duration(0.0f),
weight(0.0f),
driving_side(false) {
}
};
struct Step FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
using NativeTableType = StepT;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_DISTANCE = 4,
VT_DURATION = 6,
VT_POLYLINE = 8,
VT_COORDINATES = 10,
VT_WEIGHT = 12,
VT_NAME = 14,
VT_REF = 16,
VT_PRONUNCIATION = 18,
VT_DESTINATIONS = 20,
VT_EXITS = 22,
VT_MODE = 24,
VT_MANEUVER = 26,
VT_INTERSECTIONS = 28,
VT_ROTARY_NAME = 30,
VT_ROTARY_PRONUNCIATION = 32,
VT_DRIVING_SIDE = 34
};
float distance() const {
return GetField(VT_DISTANCE, 0.0f);
}
float duration() const {
return GetField(VT_DURATION, 0.0f);
}
const flatbuffers::String *polyline() const {
return GetPointer(VT_POLYLINE);
}
const flatbuffers::Vector *coordinates() const {
return GetPointer *>(VT_COORDINATES);
}
float weight() const {
return GetField(VT_WEIGHT, 0.0f);
}
const flatbuffers::String *name() const {
return GetPointer(VT_NAME);
}
const flatbuffers::String *ref() const {
return GetPointer(VT_REF);
}
const flatbuffers::String *pronunciation() const {
return GetPointer(VT_PRONUNCIATION);
}
const flatbuffers::String *destinations() const {
return GetPointer(VT_DESTINATIONS);
}
const flatbuffers::String *exits() const {
return GetPointer(VT_EXITS);
}
const flatbuffers::String *mode() const {
return GetPointer(VT_MODE);
}
const osrm::engine::api::fbresult::StepManeuver *maneuver() const {
return GetPointer(VT_MANEUVER);
}
const flatbuffers::Vector> *intersections() const {
return GetPointer> *>(VT_INTERSECTIONS);
}
const flatbuffers::String *rotary_name() const {
return GetPointer(VT_ROTARY_NAME);
}
const flatbuffers::String *rotary_pronunciation() const {
return GetPointer(VT_ROTARY_PRONUNCIATION);
}
bool driving_side() const {
return GetField(VT_DRIVING_SIDE, 0) != 0;
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField(verifier, VT_DISTANCE) &&
VerifyField(verifier, VT_DURATION) &&
VerifyOffset(verifier, VT_POLYLINE) &&
verifier.VerifyString(polyline()) &&
VerifyOffset(verifier, VT_COORDINATES) &&
verifier.VerifyVector(coordinates()) &&
VerifyField(verifier, VT_WEIGHT) &&
VerifyOffset(verifier, VT_NAME) &&
verifier.VerifyString(name()) &&
VerifyOffset(verifier, VT_REF) &&
verifier.VerifyString(ref()) &&
VerifyOffset(verifier, VT_PRONUNCIATION) &&
verifier.VerifyString(pronunciation()) &&
VerifyOffset(verifier, VT_DESTINATIONS) &&
verifier.VerifyString(destinations()) &&
VerifyOffset(verifier, VT_EXITS) &&
verifier.VerifyString(exits()) &&
VerifyOffset(verifier, VT_MODE) &&
verifier.VerifyString(mode()) &&
VerifyOffset(verifier, VT_MANEUVER) &&
verifier.VerifyTable(maneuver()) &&
VerifyOffset(verifier, VT_INTERSECTIONS) &&
verifier.VerifyVector(intersections()) &&
verifier.VerifyVectorOfTables(intersections()) &&
VerifyOffset(verifier, VT_ROTARY_NAME) &&
verifier.VerifyString(rotary_name()) &&
VerifyOffset(verifier, VT_ROTARY_PRONUNCIATION) &&
verifier.VerifyString(rotary_pronunciation()) &&
VerifyField(verifier, VT_DRIVING_SIDE) &&
verifier.EndTable();
}
StepT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
void UnPackTo(StepT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const StepT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
};
struct StepBuilder {
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_distance(float distance) {
fbb_.AddElement(Step::VT_DISTANCE, distance, 0.0f);
}
void add_duration(float duration) {
fbb_.AddElement(Step::VT_DURATION, duration, 0.0f);
}
void add_polyline(flatbuffers::Offset polyline) {
fbb_.AddOffset(Step::VT_POLYLINE, polyline);
}
void add_coordinates(flatbuffers::Offset> coordinates) {
fbb_.AddOffset(Step::VT_COORDINATES, coordinates);
}
void add_weight(float weight) {
fbb_.AddElement(Step::VT_WEIGHT, weight, 0.0f);
}
void add_name(flatbuffers::Offset name) {
fbb_.AddOffset(Step::VT_NAME, name);
}
void add_ref(flatbuffers::Offset ref) {
fbb_.AddOffset(Step::VT_REF, ref);
}
void add_pronunciation(flatbuffers::Offset pronunciation) {
fbb_.AddOffset(Step::VT_PRONUNCIATION, pronunciation);
}
void add_destinations(flatbuffers::Offset destinations) {
fbb_.AddOffset(Step::VT_DESTINATIONS, destinations);
}
void add_exits(flatbuffers::Offset exits) {
fbb_.AddOffset(Step::VT_EXITS, exits);
}
void add_mode(flatbuffers::Offset mode) {
fbb_.AddOffset(Step::VT_MODE, mode);
}
void add_maneuver(flatbuffers::Offset maneuver) {
fbb_.AddOffset(Step::VT_MANEUVER, maneuver);
}
void add_intersections(flatbuffers::Offset>> intersections) {
fbb_.AddOffset(Step::VT_INTERSECTIONS, intersections);
}
void add_rotary_name(flatbuffers::Offset rotary_name) {
fbb_.AddOffset(Step::VT_ROTARY_NAME, rotary_name);
}
void add_rotary_pronunciation(flatbuffers::Offset rotary_pronunciation) {
fbb_.AddOffset(Step::VT_ROTARY_PRONUNCIATION, rotary_pronunciation);
}
void add_driving_side(bool driving_side) {
fbb_.AddElement(Step::VT_DRIVING_SIDE, static_cast(driving_side), 0);
}
explicit StepBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
StepBuilder &operator=(const StepBuilder &);
flatbuffers::Offset Finish() {
const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset(end);
return o;
}
};
inline flatbuffers::Offset CreateStep(
flatbuffers::FlatBufferBuilder &_fbb,
float distance = 0.0f,
float duration = 0.0f,
flatbuffers::Offset polyline = 0,
flatbuffers::Offset> coordinates = 0,
float weight = 0.0f,
flatbuffers::Offset name = 0,
flatbuffers::Offset ref = 0,
flatbuffers::Offset pronunciation = 0,
flatbuffers::Offset destinations = 0,
flatbuffers::Offset exits = 0,
flatbuffers::Offset mode = 0,
flatbuffers::Offset maneuver = 0,
flatbuffers::Offset>> intersections = 0,
flatbuffers::Offset rotary_name = 0,
flatbuffers::Offset rotary_pronunciation = 0,
bool driving_side = false) {
StepBuilder builder_(_fbb);
builder_.add_rotary_pronunciation(rotary_pronunciation);
builder_.add_rotary_name(rotary_name);
builder_.add_intersections(intersections);
builder_.add_maneuver(maneuver);
builder_.add_mode(mode);
builder_.add_exits(exits);
builder_.add_destinations(destinations);
builder_.add_pronunciation(pronunciation);
builder_.add_ref(ref);
builder_.add_name(name);
builder_.add_weight(weight);
builder_.add_coordinates(coordinates);
builder_.add_polyline(polyline);
builder_.add_duration(duration);
builder_.add_distance(distance);
builder_.add_driving_side(driving_side);
return builder_.Finish();
}
inline flatbuffers::Offset CreateStepDirect(
flatbuffers::FlatBufferBuilder &_fbb,
float distance = 0.0f,
float duration = 0.0f,
const char *polyline = nullptr,
const std::vector *coordinates = nullptr,
float weight = 0.0f,
const char *name = nullptr,
const char *ref = nullptr,
const char *pronunciation = nullptr,
const char *destinations = nullptr,
const char *exits = nullptr,
const char *mode = nullptr,
flatbuffers::Offset maneuver = 0,
const std::vector> *intersections = nullptr,
const char *rotary_name = nullptr,
const char *rotary_pronunciation = nullptr,
bool driving_side = false) {
auto polyline__ = polyline ? _fbb.CreateString(polyline) : 0;
auto coordinates__ = coordinates ? _fbb.CreateVectorOfStructs(*coordinates) : 0;
auto name__ = name ? _fbb.CreateString(name) : 0;
auto ref__ = ref ? _fbb.CreateString(ref) : 0;
auto pronunciation__ = pronunciation ? _fbb.CreateString(pronunciation) : 0;
auto destinations__ = destinations ? _fbb.CreateString(destinations) : 0;
auto exits__ = exits ? _fbb.CreateString(exits) : 0;
auto mode__ = mode ? _fbb.CreateString(mode) : 0;
auto intersections__ = intersections ? _fbb.CreateVector