4#ifndef GOOGLE_PROTOBUF_INCLUDED_goby_2futil_2fprotobuf_2fais_2eproto
5#define GOOGLE_PROTOBUF_INCLUDED_goby_2futil_2fprotobuf_2fais_2eproto
10#include <google/protobuf/port_def.inc>
11#if PROTOBUF_VERSION < 3021000
12#error This file was generated by a newer version of protoc which is
13#error incompatible with your Protocol Buffer headers. Please update
16#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
17#error This file was generated by an older version of protoc which is
18#error incompatible with your Protocol Buffer headers. Please
19#error regenerate this file with a newer version of protoc.
22#include <google/protobuf/port_undef.inc>
23#include <google/protobuf/io/coded_stream.h>
25#include <google/protobuf/arenastring.h>
26#include <google/protobuf/generated_message_util.h>
27#include <google/protobuf/metadata_lite.h>
28#include <google/protobuf/generated_message_reflection.h>
30#include <google/protobuf/repeated_field.h>
31#include <google/protobuf/extension_set.h>
32#include <google/protobuf/generated_enum_reflection.h>
33#include <google/protobuf/unknown_field_set.h>
34#include "dccl/option_extensions.pb.h"
35#include <boost/units/quantity.hpp>
36#include <boost/units/absolute.hpp>
37#include <boost/units/dimensionless_type.hpp>
38#include <boost/units/make_scaled_unit.hpp>
40#include <boost/units/systems/angle/degrees.hpp>
42#include <boost/units/systems/si.hpp>
44#include <google/protobuf/port_def.inc>
45#define PROTOBUF_INTERNAL_EXPORT_goby_2futil_2fprotobuf_2fais_2eproto
46PROTOBUF_NAMESPACE_OPEN
50PROTOBUF_NAMESPACE_CLOSE
62struct PositionDefaultTypeInternal;
65struct VoyageDefaultTypeInternal;
71PROTOBUF_NAMESPACE_OPEN
74PROTOBUF_NAMESPACE_CLOSE
95 static_assert(::std::is_same<T, Position_TurnInfo>::value ||
96 ::std::is_integral<T>::value,
97 "Incorrect type passed to function Position_TurnInfo_Name.");
98 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
103 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Position_TurnInfo>(
118 static_assert(::std::is_same<T, Position_PositionAccuracy>::value ||
119 ::std::is_integral<T>::value,
120 "Incorrect type passed to function Position_PositionAccuracy_Name.");
121 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
126 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Position_PositionAccuracy>(
239 static_assert(::std::is_same<T, Voyage_ShipType>::value ||
240 ::std::is_integral<T>::value,
241 "Incorrect type passed to function Voyage_ShipType_Name.");
242 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
246 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
Voyage_ShipType* value) {
247 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Voyage_ShipType>(
269 static_assert(::std::is_same<T, Voyage_FixType>::value ||
270 ::std::is_integral<T>::value,
271 "Incorrect type passed to function Voyage_FixType_Name.");
272 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
276 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
Voyage_FixType* value) {
277 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Voyage_FixType>(
306 static_assert(::std::is_same<T, Status>::value ||
307 ::std::is_integral<T>::value,
308 "Incorrect type passed to function Status_Name.");
309 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
313 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
Status* value) {
314 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Status>(
320 public ::PROTOBUF_NAMESPACE_ID::Message {
324 explicit PROTOBUF_CONSTEXPR
Position(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
329 *
this = ::std::move(from);
337 if (
this == &from)
return *
this;
338 if (GetOwningArena() == from.GetOwningArena()
339 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
340 && GetOwningArena() !=
nullptr
351 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
354 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
357 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
370 return reinterpret_cast<const Position*
>(
380 if (other ==
this)
return;
381 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
382 if (GetOwningArena() !=
nullptr &&
383 GetOwningArena() == other->GetOwningArena()) {
385 if (GetOwningArena() == other->GetOwningArena()) {
389 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
393 if (other ==
this)
return;
394 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
400 Position*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena =
nullptr) const final {
401 return CreateMaybeMessage<Position>(arena);
403 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
405 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
407 Position::MergeImpl(*
this, from);
410 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
412 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
418 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
422 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned);
424 void SetCachedSize(
int size)
const final;
428 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
429 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
430 return "goby.util.ais.protobuf.Position";
433 explicit Position(::PROTOBUF_NAMESPACE_ID::Arena* arena,
434 bool is_message_owned =
false);
438 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
464 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
470 static_assert(::std::is_same<T, TurnInfo>::value ||
471 ::std::is_integral<T>::value,
472 "Incorrect type passed to function TurnInfo_Name.");
475 static inline bool TurnInfo_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
494 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
500 static_assert(::std::is_same<T, PositionAccuracy>::value ||
501 ::std::is_integral<T>::value,
502 "Incorrect type passed to function PositionAccuracy_Name.");
530 bool _internal_has_message_id()
const;
536 int32_t _internal_message_id()
const;
537 void _internal_set_message_id(int32_t value);
543 bool _internal_has_mmsi()
const;
546 int32_t
mmsi()
const;
549 int32_t _internal_mmsi()
const;
550 void _internal_set_mmsi(int32_t value);
556 bool _internal_has_turn_rate()
const;
562 float _internal_turn_rate()
const;
563 void _internal_set_turn_rate(
float value);
569 bool _internal_has_speed_over_ground()
const;
575 float _internal_speed_over_ground()
const;
576 void _internal_set_speed_over_ground(
float value);
582 bool _internal_has_lat()
const;
588 double _internal_lat()
const;
589 void _internal_set_lat(
double value);
595 bool _internal_has_position_accuracy()
const;
608 bool _internal_has_course_over_ground()
const;
614 float _internal_course_over_ground()
const;
615 void _internal_set_course_over_ground(
float value);
621 bool _internal_has_lon()
const;
627 double _internal_lon()
const;
628 void _internal_set_lon(
double value);
634 bool _internal_has_true_heading()
const;
640 float _internal_true_heading()
const;
641 void _internal_set_true_heading(
float value);
647 bool _internal_has_report_second()
const;
653 int32_t _internal_report_second()
const;
654 void _internal_set_report_second(int32_t value);
660 bool _internal_has_raim()
const;
666 bool _internal_raim()
const;
667 void _internal_set_raim(
bool value);
673 bool _internal_has_nav_status()
const;
686 bool _internal_has_turn_info()
const;
699 typedef boost::units::unit<turn_rate_dimension,boost::units::si::system>
turn_rate_unit;
701 template<
typename Quantity >
703 {
set_turn_rate(boost::units::quantity<turn_rate_unit,float >(value_w_units).value() ); };
705 template<
typename Quantity >
710 {
return turn_rate_with_units<boost::units::quantity< turn_rate_unit,float > >(); };
716 template<
typename Quantity >
718 {
set_speed_over_ground(boost::units::quantity<speed_over_ground_unit,float >(value_w_units).value() ); };
720 template<
typename Quantity >
725 {
return speed_over_ground_with_units<boost::units::quantity< speed_over_ground_unit,float > >(); };
729 typedef boost::units::unit<lat_dimension,boost::units::degree::system>
lat_unit;
731 template<
typename Quantity >
733 {
set_lat(boost::units::quantity<lat_unit,double >(value_w_units).value() ); };
735 template<
typename Quantity >
740 {
return lat_with_units<boost::units::quantity< lat_unit,double > >(); };
744 typedef boost::units::unit<lon_dimension,boost::units::degree::system>
lon_unit;
746 template<
typename Quantity >
748 {
set_lon(boost::units::quantity<lon_unit,double >(value_w_units).value() ); };
750 template<
typename Quantity >
755 {
return lon_with_units<boost::units::quantity< lon_unit,double > >(); };
761 template<
typename Quantity >
763 {
set_course_over_ground(boost::units::quantity<course_over_ground_unit,float >(value_w_units).value() ); };
765 template<
typename Quantity >
770 {
return course_over_ground_with_units<boost::units::quantity< course_over_ground_unit,float > >(); };
774 typedef boost::units::unit<true_heading_dimension,boost::units::degree::system>
true_heading_unit;
776 template<
typename Quantity >
778 {
set_true_heading(boost::units::quantity<true_heading_unit,float >(value_w_units).value() ); };
780 template<
typename Quantity >
785 {
return true_heading_with_units<boost::units::quantity< true_heading_unit,float > >(); };
791 template<
typename Quantity >
793 {
set_report_second(boost::units::quantity<report_second_unit,google::protobuf::int32 >(value_w_units).value() ); };
795 template<
typename Quantity >
800 {
return report_second_with_units<boost::units::quantity< report_second_unit,google::protobuf::int32 > >(); };
806 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
807 typedef void InternalArenaConstructable_;
808 typedef void DestructorSkippable_;
810 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
811 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
815 float speed_over_ground_;
817 int position_accuracy_;
818 float course_over_ground_;
821 int32_t report_second_;
827 friend struct ::TableStruct_goby_2futil_2fprotobuf_2fais_2eproto;
832 public ::PROTOBUF_NAMESPACE_ID::Message {
836 explicit PROTOBUF_CONSTEXPR
Voyage(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
841 *
this = ::std::move(from);
849 if (
this == &from)
return *
this;
850 if (GetOwningArena() == from.GetOwningArena()
851 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
852 && GetOwningArena() !=
nullptr
863 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
866 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
869 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
870 return GetDescriptor();
873 return default_instance().GetMetadata().descriptor;
876 return default_instance().GetMetadata().reflection;
879 return *internal_default_instance();
882 return reinterpret_cast<const Voyage*
>(
885 static constexpr int kIndexInFileMessages =
892 if (other ==
this)
return;
893 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
894 if (GetOwningArena() !=
nullptr &&
895 GetOwningArena() == other->GetOwningArena()) {
897 if (GetOwningArena() == other->GetOwningArena()) {
901 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
905 if (other ==
this)
return;
906 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
912 Voyage*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena =
nullptr) const final {
913 return CreateMaybeMessage<Voyage>(arena);
915 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
917 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
919 Voyage::MergeImpl(*
this, from);
922 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
924 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
925 bool IsInitialized() const final;
928 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
929 uint8_t* _InternalSerialize(
930 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
931 int GetCachedSize() const final {
return _impl_._cached_size_.Get(); }
934 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned);
936 void SetCachedSize(
int size)
const final;
937 void InternalSwap(
Voyage* other);
940 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
941 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
942 return "goby.util.ais.protobuf.Voyage";
945 explicit Voyage(::PROTOBUF_NAMESPACE_ID::Arena* arena,
946 bool is_message_owned =
false);
950 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
952 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
958 Voyage_ShipType_TYPE__NOT_AVAILABLE;
960 Voyage_ShipType_TYPE__RESERVED_1;
962 Voyage_ShipType_TYPE__RESERVED_2;
964 Voyage_ShipType_TYPE__RESERVED_3;
966 Voyage_ShipType_TYPE__RESERVED_4;
968 Voyage_ShipType_TYPE__RESERVED_5;
970 Voyage_ShipType_TYPE__RESERVED_6;
972 Voyage_ShipType_TYPE__RESERVED_7;
974 Voyage_ShipType_TYPE__RESERVED_8;
976 Voyage_ShipType_TYPE__RESERVED_9;
978 Voyage_ShipType_TYPE__RESERVED_10;
980 Voyage_ShipType_TYPE__RESERVED_11;
982 Voyage_ShipType_TYPE__RESERVED_12;
984 Voyage_ShipType_TYPE__RESERVED_13;
986 Voyage_ShipType_TYPE__RESERVED_14;
988 Voyage_ShipType_TYPE__RESERVED_15;
990 Voyage_ShipType_TYPE__RESERVED_16;
992 Voyage_ShipType_TYPE__RESERVED_17;
994 Voyage_ShipType_TYPE__RESERVED_18;
996 Voyage_ShipType_TYPE__RESERVED_19;
998 Voyage_ShipType_TYPE__WING_IN_GROUND;
999 static constexpr
ShipType TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_A =
1000 Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_A;
1001 static constexpr
ShipType TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_B =
1002 Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_B;
1003 static constexpr
ShipType TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_C =
1004 Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_C;
1005 static constexpr
ShipType TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_D =
1006 Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_D;
1007 static constexpr
ShipType TYPE__WING_IN_GROUND_RESERVED_25 =
1008 Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_25;
1009 static constexpr
ShipType TYPE__WING_IN_GROUND_RESERVED_26 =
1010 Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_26;
1011 static constexpr
ShipType TYPE__WING_IN_GROUND_RESERVED_27 =
1012 Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_27;
1013 static constexpr
ShipType TYPE__WING_IN_GROUND_RESERVED_28 =
1014 Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_28;
1015 static constexpr
ShipType TYPE__WING_IN_GROUND_RESERVED_29 =
1016 Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_29;
1018 Voyage_ShipType_TYPE__FISHING;
1020 Voyage_ShipType_TYPE__TOWING;
1021 static constexpr
ShipType TYPE__TOWING_LENGTH_EXCEEDS_200M_OR_BREADTH_EXCEEDS_25M =
1022 Voyage_ShipType_TYPE__TOWING_LENGTH_EXCEEDS_200M_OR_BREADTH_EXCEEDS_25M;
1023 static constexpr
ShipType TYPE__DREDGING_OR_UNDERWATER_OPS =
1024 Voyage_ShipType_TYPE__DREDGING_OR_UNDERWATER_OPS;
1026 Voyage_ShipType_TYPE__DIVING_OPS;
1028 Voyage_ShipType_TYPE__MILITARY_OPS;
1030 Voyage_ShipType_TYPE__SAILING;
1032 Voyage_ShipType_TYPE__PLEASURE_CRAFT;
1034 Voyage_ShipType_TYPE__RESERVED_38;
1036 Voyage_ShipType_TYPE__RESERVED_39;
1038 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT;
1039 static constexpr
ShipType TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_A =
1040 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_A;
1041 static constexpr
ShipType TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_B =
1042 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_B;
1043 static constexpr
ShipType TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_C =
1044 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_C;
1045 static constexpr
ShipType TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_D =
1046 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_D;
1047 static constexpr
ShipType TYPE__HIGH_SPEED_CRAFT_RESERVED_45 =
1048 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_45;
1049 static constexpr
ShipType TYPE__HIGH_SPEED_CRAFT_RESERVED_46 =
1050 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_46;
1051 static constexpr
ShipType TYPE__HIGH_SPEED_CRAFT_RESERVED_47 =
1052 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_47;
1053 static constexpr
ShipType TYPE__HIGH_SPEED_CRAFT_RESERVED_48 =
1054 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_48;
1055 static constexpr
ShipType TYPE__HIGH_SPEED_CRAFT_NO_ADDITIONAL_INFORMATION =
1056 Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_NO_ADDITIONAL_INFORMATION;
1058 Voyage_ShipType_TYPE__PILOT_VESSEL;
1059 static constexpr
ShipType TYPE__SEARCH_AND_RESCUE_VESSEL =
1060 Voyage_ShipType_TYPE__SEARCH_AND_RESCUE_VESSEL;
1062 Voyage_ShipType_TYPE__TUG;
1064 Voyage_ShipType_TYPE__PORT_TENDER;
1065 static constexpr
ShipType TYPE__ANTI_POLLUTION_EQUIPMENT =
1066 Voyage_ShipType_TYPE__ANTI_POLLUTION_EQUIPMENT;
1068 Voyage_ShipType_TYPE__LAW_ENFORCEMENT;
1070 Voyage_ShipType_TYPE__SPARE56_LOCAL_VESSEL;
1072 Voyage_ShipType_TYPE__SPARE57_LOCAL_VESSEL;
1074 Voyage_ShipType_TYPE__MEDICAL_TRANSPORT;
1075 static constexpr
ShipType TYPE__NONCOMBATANT_SHIP_ACCORDING_TO_RR_RESOLUTION_NO_18 =
1076 Voyage_ShipType_TYPE__NONCOMBATANT_SHIP_ACCORDING_TO_RR_RESOLUTION_NO_18;
1078 Voyage_ShipType_TYPE__PASSENGER;
1079 static constexpr
ShipType TYPE__PASSENGER_HAZARDOUS_CATEGORY_A =
1080 Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_A;
1081 static constexpr
ShipType TYPE__PASSENGER_HAZARDOUS_CATEGORY_B =
1082 Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_B;
1083 static constexpr
ShipType TYPE__PASSENGER_HAZARDOUS_CATEGORY_C =
1084 Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_C;
1085 static constexpr
ShipType TYPE__PASSENGER_HAZARDOUS_CATEGORY_D =
1086 Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_D;
1087 static constexpr
ShipType TYPE__PASSENGER_RESERVED_65 =
1088 Voyage_ShipType_TYPE__PASSENGER_RESERVED_65;
1089 static constexpr
ShipType TYPE__PASSENGER_RESERVED_66 =
1090 Voyage_ShipType_TYPE__PASSENGER_RESERVED_66;
1091 static constexpr
ShipType TYPE__PASSENGER_RESERVED_67 =
1092 Voyage_ShipType_TYPE__PASSENGER_RESERVED_67;
1093 static constexpr
ShipType TYPE__PASSENGER_RESERVED_68 =
1094 Voyage_ShipType_TYPE__PASSENGER_RESERVED_68;
1095 static constexpr
ShipType TYPE__PASSENGER_NO_ADDITIONAL_INFORMATION =
1096 Voyage_ShipType_TYPE__PASSENGER_NO_ADDITIONAL_INFORMATION;
1098 Voyage_ShipType_TYPE__CARGO;
1099 static constexpr
ShipType TYPE__CARGO_HAZARDOUS_CATEGORY_A =
1100 Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_A;
1101 static constexpr
ShipType TYPE__CARGO_HAZARDOUS_CATEGORY_B =
1102 Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_B;
1103 static constexpr
ShipType TYPE__CARGO_HAZARDOUS_CATEGORY_C =
1104 Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_C;
1105 static constexpr
ShipType TYPE__CARGO_HAZARDOUS_CATEGORY_D =
1106 Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_D;
1108 Voyage_ShipType_TYPE__CARGO_RESERVED_65;
1110 Voyage_ShipType_TYPE__CARGO_RESERVED_66;
1112 Voyage_ShipType_TYPE__CARGO_RESERVED_67;
1114 Voyage_ShipType_TYPE__CARGO_RESERVED_68;
1115 static constexpr
ShipType TYPE__CARGO_NO_ADDITIONAL_INFORMATION =
1116 Voyage_ShipType_TYPE__CARGO_NO_ADDITIONAL_INFORMATION;
1118 Voyage_ShipType_TYPE__TANKER;
1119 static constexpr
ShipType TYPE__TANKER_HAZARDOUS_CATEGORY_A =
1120 Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_A;
1121 static constexpr
ShipType TYPE__TANKER_HAZARDOUS_CATEGORY_B =
1122 Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_B;
1123 static constexpr
ShipType TYPE__TANKER_HAZARDOUS_CATEGORY_C =
1124 Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_C;
1125 static constexpr
ShipType TYPE__TANKER_HAZARDOUS_CATEGORY_D =
1126 Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_D;
1128 Voyage_ShipType_TYPE__TANKER_RESERVED_65;
1130 Voyage_ShipType_TYPE__TANKER_RESERVED_66;
1132 Voyage_ShipType_TYPE__TANKER_RESERVED_67;
1134 Voyage_ShipType_TYPE__TANKER_RESERVED_68;
1135 static constexpr
ShipType TYPE__TANKER_NO_ADDITIONAL_INFORMATION =
1136 Voyage_ShipType_TYPE__TANKER_NO_ADDITIONAL_INFORMATION;
1138 Voyage_ShipType_TYPE__OTHER;
1139 static constexpr
ShipType TYPE__OTHER_HAZARDOUS_CATEGORY_A =
1140 Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_A;
1141 static constexpr
ShipType TYPE__OTHER_HAZARDOUS_CATEGORY_B =
1142 Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_B;
1143 static constexpr
ShipType TYPE__OTHER_HAZARDOUS_CATEGORY_C =
1144 Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_C;
1145 static constexpr
ShipType TYPE__OTHER_HAZARDOUS_CATEGORY_D =
1146 Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_D;
1148 Voyage_ShipType_TYPE__OTHER_RESERVED_65;
1150 Voyage_ShipType_TYPE__OTHER_RESERVED_66;
1152 Voyage_ShipType_TYPE__OTHER_RESERVED_67;
1154 Voyage_ShipType_TYPE__OTHER_RESERVED_68;
1155 static constexpr
ShipType TYPE__OTHER_NO_ADDITIONAL_INFORMATION =
1156 Voyage_ShipType_TYPE__OTHER_NO_ADDITIONAL_INFORMATION;
1157 static inline
bool ShipType_IsValid(
int value) {
1164 static constexpr int ShipType_ARRAYSIZE =
1166 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1170 template<
typename T>
1172 static_assert(::std::is_same<T, ShipType>::value ||
1173 ::std::is_integral<T>::value,
1174 "Incorrect type passed to function ShipType_Name.");
1189 static constexpr FixType FIX__COMBINED_GPS_AND_GLONASS =
1195 static constexpr FixType FIX__INTEGRATED_NAVIGATION_SYSTEM =
1208 static constexpr int FixType_ARRAYSIZE =
1210 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1214 template<
typename T>
1216 static_assert(::std::is_same<T, FixType>::value ||
1217 ::std::is_integral<T>::value,
1218 "Incorrect type passed to function FixType_Name.");
1221 static inline bool FixType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
1229 kCallsignFieldNumber = 5,
1230 kNameFieldNumber = 6,
1231 kDestinationFieldNumber = 18,
1232 kMessageIdFieldNumber = 2,
1233 kMmsiFieldNumber = 3,
1234 kImoFieldNumber = 4,
1235 kTypeFieldNumber = 7,
1236 kToBowFieldNumber = 8,
1237 kToSternFieldNumber = 9,
1238 kToPortFieldNumber = 10,
1239 kToStarboardFieldNumber = 11,
1240 kFixTypeFieldNumber = 12,
1241 kEtaMonthFieldNumber = 13,
1242 kEtaDayFieldNumber = 14,
1243 kEtaHourFieldNumber = 15,
1244 kEtaMinuteFieldNumber = 16,
1245 kDraughtFieldNumber = 17,
1248 bool has_callsign()
const;
1250 bool _internal_has_callsign()
const;
1252 void clear_callsign();
1253 const std::string& callsign()
const;
1254 template <
typename ArgT0 =
const std::string&,
typename... ArgT>
1256 std::string* mutable_callsign();
1257 PROTOBUF_NODISCARD std::string* release_callsign();
1258 void set_allocated_callsign(std::string* callsign);
1260 const std::string& _internal_callsign()
const;
1261 inline PROTOBUF_ALWAYS_INLINE
void _internal_set_callsign(
const std::string& value);
1262 std::string* _internal_mutable_callsign();
1266 bool has_name()
const;
1268 bool _internal_has_name()
const;
1271 const std::string& name()
const;
1272 template <
typename ArgT0 =
const std::string&,
typename... ArgT>
1274 std::string* mutable_name();
1275 PROTOBUF_NODISCARD std::string* release_name();
1276 void set_allocated_name(std::string* name);
1278 const std::string& _internal_name()
const;
1279 inline PROTOBUF_ALWAYS_INLINE
void _internal_set_name(
const std::string& value);
1280 std::string* _internal_mutable_name();
1284 bool has_destination()
const;
1286 bool _internal_has_destination()
const;
1288 void clear_destination();
1289 const std::string& destination()
const;
1290 template <
typename ArgT0 =
const std::string&,
typename... ArgT>
1292 std::string* mutable_destination();
1293 PROTOBUF_NODISCARD std::string* release_destination();
1294 void set_allocated_destination(std::string* destination);
1296 const std::string& _internal_destination()
const;
1297 inline PROTOBUF_ALWAYS_INLINE
void _internal_set_destination(
const std::string& value);
1298 std::string* _internal_mutable_destination();
1302 bool has_message_id()
const;
1304 bool _internal_has_message_id()
const;
1306 void clear_message_id();
1307 int32_t message_id()
const;
1308 void set_message_id(int32_t value);
1310 int32_t _internal_message_id()
const;
1311 void _internal_set_message_id(int32_t value);
1315 bool has_mmsi()
const;
1317 bool _internal_has_mmsi()
const;
1320 int32_t mmsi()
const;
1321 void set_mmsi(int32_t value);
1323 int32_t _internal_mmsi()
const;
1324 void _internal_set_mmsi(int32_t value);
1328 bool has_imo()
const;
1330 bool _internal_has_imo()
const;
1333 int32_t imo()
const;
1334 void set_imo(int32_t value);
1336 int32_t _internal_imo()
const;
1337 void _internal_set_imo(int32_t value);
1341 bool has_type()
const;
1343 bool _internal_has_type()
const;
1354 bool has_to_bow()
const;
1356 bool _internal_has_to_bow()
const;
1358 void clear_to_bow();
1359 uint32_t to_bow()
const;
1360 void set_to_bow(uint32_t value);
1362 uint32_t _internal_to_bow()
const;
1363 void _internal_set_to_bow(uint32_t value);
1367 bool has_to_stern()
const;
1369 bool _internal_has_to_stern()
const;
1371 void clear_to_stern();
1372 uint32_t to_stern()
const;
1373 void set_to_stern(uint32_t value);
1375 uint32_t _internal_to_stern()
const;
1376 void _internal_set_to_stern(uint32_t value);
1380 bool has_to_port()
const;
1382 bool _internal_has_to_port()
const;
1384 void clear_to_port();
1385 uint32_t to_port()
const;
1386 void set_to_port(uint32_t value);
1388 uint32_t _internal_to_port()
const;
1389 void _internal_set_to_port(uint32_t value);
1393 bool has_to_starboard()
const;
1395 bool _internal_has_to_starboard()
const;
1397 void clear_to_starboard();
1398 uint32_t to_starboard()
const;
1399 void set_to_starboard(uint32_t value);
1401 uint32_t _internal_to_starboard()
const;
1402 void _internal_set_to_starboard(uint32_t value);
1406 bool has_fix_type()
const;
1408 bool _internal_has_fix_type()
const;
1410 void clear_fix_type();
1419 bool has_eta_month()
const;
1421 bool _internal_has_eta_month()
const;
1423 void clear_eta_month();
1424 uint32_t eta_month()
const;
1425 void set_eta_month(uint32_t value);
1427 uint32_t _internal_eta_month()
const;
1428 void _internal_set_eta_month(uint32_t value);
1432 bool has_eta_day()
const;
1434 bool _internal_has_eta_day()
const;
1436 void clear_eta_day();
1437 uint32_t eta_day()
const;
1438 void set_eta_day(uint32_t value);
1440 uint32_t _internal_eta_day()
const;
1441 void _internal_set_eta_day(uint32_t value);
1445 bool has_eta_hour()
const;
1447 bool _internal_has_eta_hour()
const;
1449 void clear_eta_hour();
1450 uint32_t eta_hour()
const;
1451 void set_eta_hour(uint32_t value);
1453 uint32_t _internal_eta_hour()
const;
1454 void _internal_set_eta_hour(uint32_t value);
1458 bool has_eta_minute()
const;
1460 bool _internal_has_eta_minute()
const;
1462 void clear_eta_minute();
1463 uint32_t eta_minute()
const;
1464 void set_eta_minute(uint32_t value);
1466 uint32_t _internal_eta_minute()
const;
1467 void _internal_set_eta_minute(uint32_t value);
1471 bool has_draught()
const;
1473 bool _internal_has_draught()
const;
1475 void clear_draught();
1476 float draught()
const;
1477 void set_draught(
float value);
1479 float _internal_draught()
const;
1480 void _internal_set_draught(
float value);
1486 typedef boost::units::unit<to_bow_dimension,boost::units::si::system>
to_bow_unit;
1488 template<
typename Quantity >
1490 { set_to_bow(boost::units::quantity<to_bow_unit,google::protobuf::uint32 >(value_w_units).value() ); };
1492 template<
typename Quantity >
1497 {
return to_bow_with_units<boost::units::quantity< to_bow_unit,google::protobuf::uint32 > >(); };
1501 typedef boost::units::unit<to_stern_dimension,boost::units::si::system>
to_stern_unit;
1503 template<
typename Quantity >
1505 { set_to_stern(boost::units::quantity<to_stern_unit,google::protobuf::uint32 >(value_w_units).value() ); };
1507 template<
typename Quantity >
1512 {
return to_stern_with_units<boost::units::quantity< to_stern_unit,google::protobuf::uint32 > >(); };
1516 typedef boost::units::unit<to_port_dimension,boost::units::si::system>
to_port_unit;
1518 template<
typename Quantity >
1520 { set_to_port(boost::units::quantity<to_port_unit,google::protobuf::uint32 >(value_w_units).value() ); };
1522 template<
typename Quantity >
1527 {
return to_port_with_units<boost::units::quantity< to_port_unit,google::protobuf::uint32 > >(); };
1533 template<
typename Quantity >
1535 { set_to_starboard(boost::units::quantity<to_starboard_unit,google::protobuf::uint32 >(value_w_units).value() ); };
1537 template<
typename Quantity >
1542 {
return to_starboard_with_units<boost::units::quantity< to_starboard_unit,google::protobuf::uint32 > >(); };
1546 typedef boost::units::unit<draught_dimension,boost::units::si::system>
draught_unit;
1548 template<
typename Quantity >
1550 { set_draught(boost::units::quantity<draught_unit,float >(value_w_units).value() ); };
1552 template<
typename Quantity >
1557 {
return draught_with_units<boost::units::quantity< draught_unit,float > >(); };
1563 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1564 typedef void InternalArenaConstructable_;
1565 typedef void DestructorSkippable_;
1567 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1568 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1569 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr callsign_;
1570 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
1571 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr destination_;
1572 int32_t message_id_;
1579 uint32_t to_starboard_;
1581 uint32_t eta_month_;
1584 uint32_t eta_minute_;
1588 friend struct ::TableStruct_goby_2futil_2fprotobuf_2fais_2eproto;
1596 #pragma GCC diagnostic push
1597 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1602inline bool Position::_internal_has_message_id()
const {
1603 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
1606inline bool Position::has_message_id()
const {
1607 return _internal_has_message_id();
1609inline void Position::clear_message_id() {
1610 _impl_.message_id_ = 0;
1611 _impl_._has_bits_[0] &= ~0x00000001u;
1613inline int32_t Position::_internal_message_id()
const {
1614 return _impl_.message_id_;
1616inline int32_t Position::message_id()
const {
1618 return _internal_message_id();
1620inline void Position::_internal_set_message_id(int32_t value) {
1621 _impl_._has_bits_[0] |= 0x00000001u;
1622 _impl_.message_id_ = value;
1624inline void Position::set_message_id(int32_t value) {
1625 _internal_set_message_id(value);
1630inline bool Position::_internal_has_mmsi()
const {
1631 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
1634inline bool Position::has_mmsi()
const {
1635 return _internal_has_mmsi();
1637inline void Position::clear_mmsi() {
1639 _impl_._has_bits_[0] &= ~0x00000002u;
1641inline int32_t Position::_internal_mmsi()
const {
1642 return _impl_.mmsi_;
1644inline int32_t Position::mmsi()
const {
1646 return _internal_mmsi();
1648inline void Position::_internal_set_mmsi(int32_t value) {
1649 _impl_._has_bits_[0] |= 0x00000002u;
1650 _impl_.mmsi_ = value;
1652inline void Position::set_mmsi(int32_t value) {
1653 _internal_set_mmsi(value);
1658inline bool Position::_internal_has_nav_status()
const {
1659 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
1662inline bool Position::has_nav_status()
const {
1663 return _internal_has_nav_status();
1665inline void Position::clear_nav_status() {
1666 _impl_.nav_status_ = 15;
1667 _impl_._has_bits_[0] &= ~0x00000800u;
1669inline ::goby::util::ais::protobuf::Status Position::_internal_nav_status()
const {
1672inline ::goby::util::ais::protobuf::Status Position::nav_status()
const {
1674 return _internal_nav_status();
1678 _impl_._has_bits_[0] |= 0x00000800u;
1679 _impl_.nav_status_ = value;
1682 _internal_set_nav_status(value);
1687inline bool Position::_internal_has_turn_info()
const {
1688 bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
1691inline bool Position::has_turn_info()
const {
1692 return _internal_has_turn_info();
1694inline void Position::clear_turn_info() {
1695 _impl_.turn_info_ = 128;
1696 _impl_._has_bits_[0] &= ~0x00001000u;
1698inline ::goby::util::ais::protobuf::Position_TurnInfo Position::_internal_turn_info()
const {
1701inline ::goby::util::ais::protobuf::Position_TurnInfo Position::turn_info()
const {
1703 return _internal_turn_info();
1707 _impl_._has_bits_[0] |= 0x00001000u;
1708 _impl_.turn_info_ = value;
1711 _internal_set_turn_info(value);
1716inline bool Position::_internal_has_turn_rate()
const {
1717 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
1720inline bool Position::has_turn_rate()
const {
1721 return _internal_has_turn_rate();
1723inline void Position::clear_turn_rate() {
1724 _impl_.turn_rate_ = 0;
1725 _impl_._has_bits_[0] &= ~0x00000004u;
1727inline float Position::_internal_turn_rate()
const {
1728 return _impl_.turn_rate_;
1730inline float Position::turn_rate()
const {
1732 return _internal_turn_rate();
1734inline void Position::_internal_set_turn_rate(
float value) {
1735 _impl_._has_bits_[0] |= 0x00000004u;
1736 _impl_.turn_rate_ = value;
1738inline void Position::set_turn_rate(
float value) {
1739 _internal_set_turn_rate(value);
1744inline bool Position::_internal_has_speed_over_ground()
const {
1745 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
1748inline bool Position::has_speed_over_ground()
const {
1749 return _internal_has_speed_over_ground();
1751inline void Position::clear_speed_over_ground() {
1752 _impl_.speed_over_ground_ = 0;
1753 _impl_._has_bits_[0] &= ~0x00000008u;
1755inline float Position::_internal_speed_over_ground()
const {
1756 return _impl_.speed_over_ground_;
1758inline float Position::speed_over_ground()
const {
1760 return _internal_speed_over_ground();
1762inline void Position::_internal_set_speed_over_ground(
float value) {
1763 _impl_._has_bits_[0] |= 0x00000008u;
1764 _impl_.speed_over_ground_ = value;
1766inline void Position::set_speed_over_ground(
float value) {
1767 _internal_set_speed_over_ground(value);
1772inline bool Position::_internal_has_position_accuracy()
const {
1773 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
1776inline bool Position::has_position_accuracy()
const {
1777 return _internal_has_position_accuracy();
1779inline void Position::clear_position_accuracy() {
1780 _impl_.position_accuracy_ = 0;
1781 _impl_._has_bits_[0] &= ~0x00000020u;
1783inline ::goby::util::ais::protobuf::Position_PositionAccuracy Position::_internal_position_accuracy()
const {
1786inline ::goby::util::ais::protobuf::Position_PositionAccuracy Position::position_accuracy()
const {
1788 return _internal_position_accuracy();
1792 _impl_._has_bits_[0] |= 0x00000020u;
1793 _impl_.position_accuracy_ = value;
1796 _internal_set_position_accuracy(value);
1801inline bool Position::_internal_has_lat()
const {
1802 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
1805inline bool Position::has_lat()
const {
1806 return _internal_has_lat();
1808inline void Position::clear_lat() {
1810 _impl_._has_bits_[0] &= ~0x00000010u;
1812inline double Position::_internal_lat()
const {
1815inline double Position::lat()
const {
1817 return _internal_lat();
1819inline void Position::_internal_set_lat(
double value) {
1820 _impl_._has_bits_[0] |= 0x00000010u;
1821 _impl_.lat_ = value;
1823inline void Position::set_lat(
double value) {
1824 _internal_set_lat(value);
1829inline bool Position::_internal_has_lon()
const {
1830 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
1833inline bool Position::has_lon()
const {
1834 return _internal_has_lon();
1836inline void Position::clear_lon() {
1838 _impl_._has_bits_[0] &= ~0x00000080u;
1840inline double Position::_internal_lon()
const {
1843inline double Position::lon()
const {
1845 return _internal_lon();
1847inline void Position::_internal_set_lon(
double value) {
1848 _impl_._has_bits_[0] |= 0x00000080u;
1849 _impl_.lon_ = value;
1851inline void Position::set_lon(
double value) {
1852 _internal_set_lon(value);
1857inline bool Position::_internal_has_course_over_ground()
const {
1858 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
1861inline bool Position::has_course_over_ground()
const {
1862 return _internal_has_course_over_ground();
1864inline void Position::clear_course_over_ground() {
1865 _impl_.course_over_ground_ = 0;
1866 _impl_._has_bits_[0] &= ~0x00000040u;
1868inline float Position::_internal_course_over_ground()
const {
1869 return _impl_.course_over_ground_;
1871inline float Position::course_over_ground()
const {
1873 return _internal_course_over_ground();
1875inline void Position::_internal_set_course_over_ground(
float value) {
1876 _impl_._has_bits_[0] |= 0x00000040u;
1877 _impl_.course_over_ground_ = value;
1879inline void Position::set_course_over_ground(
float value) {
1880 _internal_set_course_over_ground(value);
1885inline bool Position::_internal_has_true_heading()
const {
1886 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
1889inline bool Position::has_true_heading()
const {
1890 return _internal_has_true_heading();
1892inline void Position::clear_true_heading() {
1893 _impl_.true_heading_ = 0;
1894 _impl_._has_bits_[0] &= ~0x00000100u;
1896inline float Position::_internal_true_heading()
const {
1897 return _impl_.true_heading_;
1899inline float Position::true_heading()
const {
1901 return _internal_true_heading();
1903inline void Position::_internal_set_true_heading(
float value) {
1904 _impl_._has_bits_[0] |= 0x00000100u;
1905 _impl_.true_heading_ = value;
1907inline void Position::set_true_heading(
float value) {
1908 _internal_set_true_heading(value);
1913inline bool Position::_internal_has_report_second()
const {
1914 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
1917inline bool Position::has_report_second()
const {
1918 return _internal_has_report_second();
1920inline void Position::clear_report_second() {
1921 _impl_.report_second_ = 0;
1922 _impl_._has_bits_[0] &= ~0x00000200u;
1924inline int32_t Position::_internal_report_second()
const {
1925 return _impl_.report_second_;
1927inline int32_t Position::report_second()
const {
1929 return _internal_report_second();
1931inline void Position::_internal_set_report_second(int32_t value) {
1932 _impl_._has_bits_[0] |= 0x00000200u;
1933 _impl_.report_second_ = value;
1935inline void Position::set_report_second(int32_t value) {
1936 _internal_set_report_second(value);
1941inline bool Position::_internal_has_raim()
const {
1942 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
1945inline bool Position::has_raim()
const {
1946 return _internal_has_raim();
1948inline void Position::clear_raim() {
1949 _impl_.raim_ =
false;
1950 _impl_._has_bits_[0] &= ~0x00000400u;
1952inline bool Position::_internal_raim()
const {
1953 return _impl_.raim_;
1955inline bool Position::raim()
const {
1957 return _internal_raim();
1959inline void Position::_internal_set_raim(
bool value) {
1960 _impl_._has_bits_[0] |= 0x00000400u;
1961 _impl_.raim_ = value;
1963inline void Position::set_raim(
bool value) {
1964 _internal_set_raim(value);
1973inline bool Voyage::_internal_has_message_id()
const {
1974 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
1977inline bool Voyage::has_message_id()
const {
1978 return _internal_has_message_id();
1980inline void Voyage::clear_message_id() {
1981 _impl_.message_id_ = 0;
1982 _impl_._has_bits_[0] &= ~0x00000008u;
1984inline int32_t Voyage::_internal_message_id()
const {
1985 return _impl_.message_id_;
1987inline int32_t Voyage::message_id()
const {
1989 return _internal_message_id();
1991inline void Voyage::_internal_set_message_id(int32_t value) {
1992 _impl_._has_bits_[0] |= 0x00000008u;
1993 _impl_.message_id_ = value;
1995inline void Voyage::set_message_id(int32_t value) {
1996 _internal_set_message_id(value);
2001inline bool Voyage::_internal_has_mmsi()
const {
2002 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
2005inline bool Voyage::has_mmsi()
const {
2006 return _internal_has_mmsi();
2008inline void Voyage::clear_mmsi() {
2010 _impl_._has_bits_[0] &= ~0x00000010u;
2012inline int32_t Voyage::_internal_mmsi()
const {
2013 return _impl_.mmsi_;
2015inline int32_t Voyage::mmsi()
const {
2017 return _internal_mmsi();
2019inline void Voyage::_internal_set_mmsi(int32_t value) {
2020 _impl_._has_bits_[0] |= 0x00000010u;
2021 _impl_.mmsi_ = value;
2023inline void Voyage::set_mmsi(int32_t value) {
2024 _internal_set_mmsi(value);
2029inline bool Voyage::_internal_has_imo()
const {
2030 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
2033inline bool Voyage::has_imo()
const {
2034 return _internal_has_imo();
2036inline void Voyage::clear_imo() {
2038 _impl_._has_bits_[0] &= ~0x00000020u;
2040inline int32_t Voyage::_internal_imo()
const {
2043inline int32_t Voyage::imo()
const {
2045 return _internal_imo();
2047inline void Voyage::_internal_set_imo(int32_t value) {
2048 _impl_._has_bits_[0] |= 0x00000020u;
2049 _impl_.imo_ = value;
2051inline void Voyage::set_imo(int32_t value) {
2052 _internal_set_imo(value);
2057inline bool Voyage::_internal_has_callsign()
const {
2058 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2061inline bool Voyage::has_callsign()
const {
2062 return _internal_has_callsign();
2064inline void Voyage::clear_callsign() {
2065 _impl_.callsign_.ClearToEmpty();
2066 _impl_._has_bits_[0] &= ~0x00000001u;
2068inline const std::string& Voyage::callsign()
const {
2070 return _internal_callsign();
2072template <
typename ArgT0,
typename... ArgT>
2073inline PROTOBUF_ALWAYS_INLINE
2074void Voyage::set_callsign(ArgT0&& arg0, ArgT... args) {
2075 _impl_._has_bits_[0] |= 0x00000001u;
2076 _impl_.callsign_.Set(
static_cast<ArgT0 &&
>(arg0), args..., GetArenaForAllocation());
2079inline std::string* Voyage::mutable_callsign() {
2080 std::string* _s = _internal_mutable_callsign();
2084inline const std::string& Voyage::_internal_callsign()
const {
2085 return _impl_.callsign_.Get();
2087inline void Voyage::_internal_set_callsign(
const std::string& value) {
2088 _impl_._has_bits_[0] |= 0x00000001u;
2089 _impl_.callsign_.Set(value, GetArenaForAllocation());
2091inline std::string* Voyage::_internal_mutable_callsign() {
2092 _impl_._has_bits_[0] |= 0x00000001u;
2093 return _impl_.callsign_.Mutable(GetArenaForAllocation());
2095inline std::string* Voyage::release_callsign() {
2097 if (!_internal_has_callsign()) {
2100 _impl_._has_bits_[0] &= ~0x00000001u;
2101 auto* p = _impl_.callsign_.Release();
2102#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
2103 if (_impl_.callsign_.IsDefault()) {
2104 _impl_.callsign_.Set(
"", GetArenaForAllocation());
2109inline void Voyage::set_allocated_callsign(std::string* callsign) {
2110 if (callsign !=
nullptr) {
2111 _impl_._has_bits_[0] |= 0x00000001u;
2113 _impl_._has_bits_[0] &= ~0x00000001u;
2115 _impl_.callsign_.SetAllocated(callsign, GetArenaForAllocation());
2116#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
2117 if (_impl_.callsign_.IsDefault()) {
2118 _impl_.callsign_.Set(
"", GetArenaForAllocation());
2125inline bool Voyage::_internal_has_name()
const {
2126 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
2129inline bool Voyage::has_name()
const {
2130 return _internal_has_name();
2132inline void Voyage::clear_name() {
2133 _impl_.name_.ClearToEmpty();
2134 _impl_._has_bits_[0] &= ~0x00000002u;
2136inline const std::string& Voyage::name()
const {
2138 return _internal_name();
2140template <
typename ArgT0,
typename... ArgT>
2141inline PROTOBUF_ALWAYS_INLINE
2142void Voyage::set_name(ArgT0&& arg0, ArgT... args) {
2143 _impl_._has_bits_[0] |= 0x00000002u;
2144 _impl_.name_.Set(
static_cast<ArgT0 &&
>(arg0), args..., GetArenaForAllocation());
2147inline std::string* Voyage::mutable_name() {
2148 std::string* _s = _internal_mutable_name();
2152inline const std::string& Voyage::_internal_name()
const {
2153 return _impl_.name_.Get();
2155inline void Voyage::_internal_set_name(
const std::string& value) {
2156 _impl_._has_bits_[0] |= 0x00000002u;
2157 _impl_.name_.Set(value, GetArenaForAllocation());
2159inline std::string* Voyage::_internal_mutable_name() {
2160 _impl_._has_bits_[0] |= 0x00000002u;
2161 return _impl_.name_.Mutable(GetArenaForAllocation());
2163inline std::string* Voyage::release_name() {
2165 if (!_internal_has_name()) {
2168 _impl_._has_bits_[0] &= ~0x00000002u;
2169 auto* p = _impl_.name_.Release();
2170#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
2171 if (_impl_.name_.IsDefault()) {
2172 _impl_.name_.Set(
"", GetArenaForAllocation());
2177inline void Voyage::set_allocated_name(std::string* name) {
2178 if (name !=
nullptr) {
2179 _impl_._has_bits_[0] |= 0x00000002u;
2181 _impl_._has_bits_[0] &= ~0x00000002u;
2183 _impl_.name_.SetAllocated(name, GetArenaForAllocation());
2184#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
2185 if (_impl_.name_.IsDefault()) {
2186 _impl_.name_.Set(
"", GetArenaForAllocation());
2193inline bool Voyage::_internal_has_type()
const {
2194 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
2197inline bool Voyage::has_type()
const {
2198 return _internal_has_type();
2200inline void Voyage::clear_type() {
2202 _impl_._has_bits_[0] &= ~0x00000040u;
2204inline ::goby::util::ais::protobuf::Voyage_ShipType Voyage::_internal_type()
const {
2207inline ::goby::util::ais::protobuf::Voyage_ShipType Voyage::type()
const {
2209 return _internal_type();
2213 _impl_._has_bits_[0] |= 0x00000040u;
2214 _impl_.type_ = value;
2217 _internal_set_type(value);
2222inline bool Voyage::_internal_has_to_bow()
const {
2223 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
2226inline bool Voyage::has_to_bow()
const {
2227 return _internal_has_to_bow();
2229inline void Voyage::clear_to_bow() {
2230 _impl_.to_bow_ = 0u;
2231 _impl_._has_bits_[0] &= ~0x00000080u;
2233inline uint32_t Voyage::_internal_to_bow()
const {
2234 return _impl_.to_bow_;
2236inline uint32_t Voyage::to_bow()
const {
2238 return _internal_to_bow();
2240inline void Voyage::_internal_set_to_bow(uint32_t value) {
2241 _impl_._has_bits_[0] |= 0x00000080u;
2242 _impl_.to_bow_ = value;
2244inline void Voyage::set_to_bow(uint32_t value) {
2245 _internal_set_to_bow(value);
2250inline bool Voyage::_internal_has_to_stern()
const {
2251 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
2254inline bool Voyage::has_to_stern()
const {
2255 return _internal_has_to_stern();
2257inline void Voyage::clear_to_stern() {
2258 _impl_.to_stern_ = 0u;
2259 _impl_._has_bits_[0] &= ~0x00000100u;
2261inline uint32_t Voyage::_internal_to_stern()
const {
2262 return _impl_.to_stern_;
2264inline uint32_t Voyage::to_stern()
const {
2266 return _internal_to_stern();
2268inline void Voyage::_internal_set_to_stern(uint32_t value) {
2269 _impl_._has_bits_[0] |= 0x00000100u;
2270 _impl_.to_stern_ = value;
2272inline void Voyage::set_to_stern(uint32_t value) {
2273 _internal_set_to_stern(value);
2278inline bool Voyage::_internal_has_to_port()
const {
2279 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
2282inline bool Voyage::has_to_port()
const {
2283 return _internal_has_to_port();
2285inline void Voyage::clear_to_port() {
2286 _impl_.to_port_ = 0u;
2287 _impl_._has_bits_[0] &= ~0x00000200u;
2289inline uint32_t Voyage::_internal_to_port()
const {
2290 return _impl_.to_port_;
2292inline uint32_t Voyage::to_port()
const {
2294 return _internal_to_port();
2296inline void Voyage::_internal_set_to_port(uint32_t value) {
2297 _impl_._has_bits_[0] |= 0x00000200u;
2298 _impl_.to_port_ = value;
2300inline void Voyage::set_to_port(uint32_t value) {
2301 _internal_set_to_port(value);
2306inline bool Voyage::_internal_has_to_starboard()
const {
2307 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
2310inline bool Voyage::has_to_starboard()
const {
2311 return _internal_has_to_starboard();
2313inline void Voyage::clear_to_starboard() {
2314 _impl_.to_starboard_ = 0u;
2315 _impl_._has_bits_[0] &= ~0x00000400u;
2317inline uint32_t Voyage::_internal_to_starboard()
const {
2318 return _impl_.to_starboard_;
2320inline uint32_t Voyage::to_starboard()
const {
2322 return _internal_to_starboard();
2324inline void Voyage::_internal_set_to_starboard(uint32_t value) {
2325 _impl_._has_bits_[0] |= 0x00000400u;
2326 _impl_.to_starboard_ = value;
2328inline void Voyage::set_to_starboard(uint32_t value) {
2329 _internal_set_to_starboard(value);
2334inline bool Voyage::_internal_has_fix_type()
const {
2335 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
2338inline bool Voyage::has_fix_type()
const {
2339 return _internal_has_fix_type();
2341inline void Voyage::clear_fix_type() {
2342 _impl_.fix_type_ = 0;
2343 _impl_._has_bits_[0] &= ~0x00000800u;
2345inline ::goby::util::ais::protobuf::Voyage_FixType Voyage::_internal_fix_type()
const {
2348inline ::goby::util::ais::protobuf::Voyage_FixType Voyage::fix_type()
const {
2350 return _internal_fix_type();
2354 _impl_._has_bits_[0] |= 0x00000800u;
2355 _impl_.fix_type_ = value;
2358 _internal_set_fix_type(value);
2363inline bool Voyage::_internal_has_eta_month()
const {
2364 bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
2367inline bool Voyage::has_eta_month()
const {
2368 return _internal_has_eta_month();
2370inline void Voyage::clear_eta_month() {
2371 _impl_.eta_month_ = 0u;
2372 _impl_._has_bits_[0] &= ~0x00001000u;
2374inline uint32_t Voyage::_internal_eta_month()
const {
2375 return _impl_.eta_month_;
2377inline uint32_t Voyage::eta_month()
const {
2379 return _internal_eta_month();
2381inline void Voyage::_internal_set_eta_month(uint32_t value) {
2382 _impl_._has_bits_[0] |= 0x00001000u;
2383 _impl_.eta_month_ = value;
2385inline void Voyage::set_eta_month(uint32_t value) {
2386 _internal_set_eta_month(value);
2391inline bool Voyage::_internal_has_eta_day()
const {
2392 bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
2395inline bool Voyage::has_eta_day()
const {
2396 return _internal_has_eta_day();
2398inline void Voyage::clear_eta_day() {
2399 _impl_.eta_day_ = 0u;
2400 _impl_._has_bits_[0] &= ~0x00002000u;
2402inline uint32_t Voyage::_internal_eta_day()
const {
2403 return _impl_.eta_day_;
2405inline uint32_t Voyage::eta_day()
const {
2407 return _internal_eta_day();
2409inline void Voyage::_internal_set_eta_day(uint32_t value) {
2410 _impl_._has_bits_[0] |= 0x00002000u;
2411 _impl_.eta_day_ = value;
2413inline void Voyage::set_eta_day(uint32_t value) {
2414 _internal_set_eta_day(value);
2419inline bool Voyage::_internal_has_eta_hour()
const {
2420 bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
2423inline bool Voyage::has_eta_hour()
const {
2424 return _internal_has_eta_hour();
2426inline void Voyage::clear_eta_hour() {
2427 _impl_.eta_hour_ = 0u;
2428 _impl_._has_bits_[0] &= ~0x00004000u;
2430inline uint32_t Voyage::_internal_eta_hour()
const {
2431 return _impl_.eta_hour_;
2433inline uint32_t Voyage::eta_hour()
const {
2435 return _internal_eta_hour();
2437inline void Voyage::_internal_set_eta_hour(uint32_t value) {
2438 _impl_._has_bits_[0] |= 0x00004000u;
2439 _impl_.eta_hour_ = value;
2441inline void Voyage::set_eta_hour(uint32_t value) {
2442 _internal_set_eta_hour(value);
2447inline bool Voyage::_internal_has_eta_minute()
const {
2448 bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
2451inline bool Voyage::has_eta_minute()
const {
2452 return _internal_has_eta_minute();
2454inline void Voyage::clear_eta_minute() {
2455 _impl_.eta_minute_ = 0u;
2456 _impl_._has_bits_[0] &= ~0x00008000u;
2458inline uint32_t Voyage::_internal_eta_minute()
const {
2459 return _impl_.eta_minute_;
2461inline uint32_t Voyage::eta_minute()
const {
2463 return _internal_eta_minute();
2465inline void Voyage::_internal_set_eta_minute(uint32_t value) {
2466 _impl_._has_bits_[0] |= 0x00008000u;
2467 _impl_.eta_minute_ = value;
2469inline void Voyage::set_eta_minute(uint32_t value) {
2470 _internal_set_eta_minute(value);
2475inline bool Voyage::_internal_has_draught()
const {
2476 bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
2479inline bool Voyage::has_draught()
const {
2480 return _internal_has_draught();
2482inline void Voyage::clear_draught() {
2483 _impl_.draught_ = 0;
2484 _impl_._has_bits_[0] &= ~0x00010000u;
2486inline float Voyage::_internal_draught()
const {
2487 return _impl_.draught_;
2489inline float Voyage::draught()
const {
2491 return _internal_draught();
2493inline void Voyage::_internal_set_draught(
float value) {
2494 _impl_._has_bits_[0] |= 0x00010000u;
2495 _impl_.draught_ = value;
2497inline void Voyage::set_draught(
float value) {
2498 _internal_set_draught(value);
2503inline bool Voyage::_internal_has_destination()
const {
2504 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
2507inline bool Voyage::has_destination()
const {
2508 return _internal_has_destination();
2510inline void Voyage::clear_destination() {
2511 _impl_.destination_.ClearToEmpty();
2512 _impl_._has_bits_[0] &= ~0x00000004u;
2514inline const std::string& Voyage::destination()
const {
2516 return _internal_destination();
2518template <
typename ArgT0,
typename... ArgT>
2519inline PROTOBUF_ALWAYS_INLINE
2520void Voyage::set_destination(ArgT0&& arg0, ArgT... args) {
2521 _impl_._has_bits_[0] |= 0x00000004u;
2522 _impl_.destination_.Set(
static_cast<ArgT0 &&
>(arg0), args..., GetArenaForAllocation());
2525inline std::string* Voyage::mutable_destination() {
2526 std::string* _s = _internal_mutable_destination();
2530inline const std::string& Voyage::_internal_destination()
const {
2531 return _impl_.destination_.Get();
2533inline void Voyage::_internal_set_destination(
const std::string& value) {
2534 _impl_._has_bits_[0] |= 0x00000004u;
2535 _impl_.destination_.Set(value, GetArenaForAllocation());
2537inline std::string* Voyage::_internal_mutable_destination() {
2538 _impl_._has_bits_[0] |= 0x00000004u;
2539 return _impl_.destination_.Mutable(GetArenaForAllocation());
2541inline std::string* Voyage::release_destination() {
2543 if (!_internal_has_destination()) {
2546 _impl_._has_bits_[0] &= ~0x00000004u;
2547 auto* p = _impl_.destination_.Release();
2548#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
2549 if (_impl_.destination_.IsDefault()) {
2550 _impl_.destination_.Set(
"", GetArenaForAllocation());
2555inline void Voyage::set_allocated_destination(std::string* destination) {
2556 if (destination !=
nullptr) {
2557 _impl_._has_bits_[0] |= 0x00000004u;
2559 _impl_._has_bits_[0] &= ~0x00000004u;
2561 _impl_.destination_.SetAllocated(destination, GetArenaForAllocation());
2562#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
2563 if (_impl_.destination_.IsDefault()) {
2564 _impl_.destination_.Set(
"", GetArenaForAllocation());
2571 #pragma GCC diagnostic pop
2583PROTOBUF_NAMESPACE_OPEN
2588 return ::goby::util::ais::protobuf::Position_TurnInfo_descriptor();
2593 return ::goby::util::ais::protobuf::Position_PositionAccuracy_descriptor();
2598 return ::goby::util::ais::protobuf::Voyage_ShipType_descriptor();
2603 return ::goby::util::ais::protobuf::Voyage_FixType_descriptor();
2608 return ::goby::util::ais::protobuf::Status_descriptor();
2611PROTOBUF_NAMESPACE_CLOSE
2615#include <google/protobuf/port_undef.inc>
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Position_TurnInfo >()
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_goby_2futil_2fprotobuf_2fais_2eproto
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Voyage_FixType >()
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Position_PositionAccuracy >()
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Status >()
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Voyage_ShipType >()
void CopyFrom(const Position &from)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void set_lon_with_units(Quantity value_w_units)
Quantity turn_rate_with_units() const
bool has_report_second() const
::goby::util::ais::protobuf::Status nav_status() const
boost::units::quantity< lat_unit, double > lat_with_units() const
static bool TurnInfo_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TurnInfo *value)
Quantity speed_over_ground_with_units() const
void clear_course_over_ground()
Position_PositionAccuracy PositionAccuracy
boost::units::time_dimension report_second_dimension
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void clear_true_heading()
bool has_true_heading() const
static bool TurnInfo_IsValid(int value)
boost::units::plane_angle_dimension lon_dimension
void set_lat_with_units(Quantity value_w_units)
static constexpr TurnInfo TurnInfo_MIN
Quantity lon_with_units() const
Position & operator=(const Position &from)
static constexpr PositionAccuracy PositionAccuracy_MIN
boost::units::quantity< true_heading_unit, float > true_heading_with_units() const
int32_t message_id() const
friend void swap(Position &a, Position &b)
static constexpr TurnInfo TURN_INFO__TURNING_LEFT_AT_MORE_THAN_5_DEG_PER_30_SEC
float true_heading() const
void set_raim(bool value)
static const ClassData _class_data_
void set_position_accuracy(::goby::util::ais::protobuf::Position_PositionAccuracy value)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
boost::units::unit< lat_dimension, boost::units::degree::system > lat_unit
bool has_turn_info() const
static bool PositionAccuracy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PositionAccuracy *value)
size_t ByteSizeLong() const final
int32_t report_second() const
void clear_position_accuracy()
static constexpr TurnInfo TURN_INFO__NO_TURN_INFORMATION
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Quantity true_heading_with_units() const
float speed_over_ground() const
bool has_position_accuracy() const
void MergeFrom(const Position &from)
boost::units::angular_velocity_dimension turn_rate_dimension
bool has_message_id() const
bool has_turn_rate() const
bool has_nav_status() const
Position(Position &&from) noexcept
static constexpr PositionAccuracy ACCURACY__HIGH__BELOW_10_METERS
boost::units::quantity< course_over_ground_unit, float > course_over_ground_with_units() const
bool has_course_over_ground() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
void set_true_heading_with_units(Quantity value_w_units)
::goby::util::ais::protobuf::Position_PositionAccuracy position_accuracy() const
static const std::string & PositionAccuracy_Name(T enum_t_value)
Quantity report_second_with_units() const
void set_turn_rate(float value)
Position & operator=(Position &&from) noexcept
Position * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
bool IsInitialized() const final
void set_true_heading(float value)
boost::units::plane_angle_dimension true_heading_dimension
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_lon(double value)
void set_nav_status(::goby::util::ais::protobuf::Status value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static constexpr PositionAccuracy PositionAccuracy_MAX
static constexpr int TurnInfo_ARRAYSIZE
void set_course_over_ground_with_units(Quantity value_w_units)
void UnsafeArenaSwap(Position *other)
boost::units::plane_angle_dimension course_over_ground_dimension
Position(const Position &from)
static constexpr TurnInfo TURN_INFO__TURNING_AT_GIVEN_RATE
static const std::string & TurnInfo_Name(T enum_t_value)
boost::units::unit< turn_rate_dimension, boost::units::si::system > turn_rate_unit
static const Position & default_instance()
static constexpr TurnInfo TURN_INFO__NOT_TURNING
void set_course_over_ground(float value)
Position(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
void Swap(Position *other)
Quantity course_over_ground_with_units() const
PROTOBUF_CONSTEXPR Position(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void set_lat(double value)
void set_turn_rate_with_units(Quantity value_w_units)
::goby::util::ais::protobuf::Position_TurnInfo turn_info() const
void set_report_second(int32_t value)
@ kReportSecondFieldNumber
@ kPositionAccuracyFieldNumber
@ kSpeedOverGroundFieldNumber
@ kTrueHeadingFieldNumber
@ kCourseOverGroundFieldNumber
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void clear_report_second()
void set_message_id(int32_t value)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * TurnInfo_descriptor()
void set_speed_over_ground_with_units(Quantity value_w_units)
void clear_speed_over_ground()
bool has_speed_over_ground() const
void set_turn_info(::goby::util::ais::protobuf::Position_TurnInfo value)
int GetCachedSize() const final
boost::units::plane_angle_dimension lat_dimension
static constexpr PositionAccuracy ACCURACY__LOW__ABOVE_10_METERS
static constexpr TurnInfo TurnInfo_MAX
boost::units::unit< report_second_dimension, boost::units::si::system > report_second_unit
static bool PositionAccuracy_IsValid(int value)
boost::units::unit< lon_dimension, boost::units::degree::system > lon_unit
static constexpr int kIndexInFileMessages
void set_speed_over_ground(float value)
boost::units::unit< true_heading_dimension, boost::units::degree::system > true_heading_unit
void set_mmsi(int32_t value)
boost::units::quantity< turn_rate_unit, float > turn_rate_with_units() const
void set_report_second_with_units(Quantity value_w_units)
static constexpr int PositionAccuracy_ARRAYSIZE
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * PositionAccuracy_descriptor()
boost::units::quantity< speed_over_ground_unit, float > speed_over_ground_with_units() const
boost::units::quantity< report_second_unit, google::protobuf::int32 > report_second_with_units() const
static constexpr TurnInfo TURN_INFO__TURNING_RIGHT_AT_MORE_THAN_5_DEG_PER_30_SEC
boost::units::unit< speed_over_ground_dimension, boost::units::si::system > speed_over_ground_unit
boost::units::unit< course_over_ground_dimension, boost::units::degree::system > course_over_ground_unit
boost::units::quantity< lon_unit, double > lon_with_units() const
static const Position * internal_default_instance()
float course_over_ground() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Quantity lat_with_units() const
boost::units::velocity_dimension speed_over_ground_dimension
boost::units::length_dimension to_starboard_dimension
boost::units::unit< to_port_dimension, boost::units::si::system > to_port_unit
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Quantity to_port_with_units() const
static const std::string & FixType_Name(T enum_t_value)
Voyage(const Voyage &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ShipType_descriptor()
boost::units::unit< draught_dimension, boost::units::si::system > draught_unit
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
void set_to_port_with_units(Quantity value_w_units)
static const Voyage * internal_default_instance()
boost::units::quantity< draught_unit, float > draught_with_units() const
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
Quantity to_stern_with_units() const
void UnsafeArenaSwap(Voyage *other)
void set_to_stern_with_units(Quantity value_w_units)
void set_callsign(ArgT0 &&arg0, ArgT... args)
boost::units::length_dimension to_stern_dimension
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * FixType_descriptor()
Voyage(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Voyage & operator=(Voyage &&from) noexcept
void CopyFrom(const Voyage &from)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
PROTOBUF_CONSTEXPR Voyage(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
boost::units::unit< to_starboard_dimension, boost::units::si::system > to_starboard_unit
static const ClassData _class_data_
void set_to_bow_with_units(Quantity value_w_units)
static bool FixType_IsValid(int value)
friend void swap(Voyage &a, Voyage &b)
static const Voyage & default_instance()
Voyage(Voyage &&from) noexcept
void set_draught_with_units(Quantity value_w_units)
boost::units::unit< to_stern_dimension, boost::units::si::system > to_stern_unit
Voyage & operator=(const Voyage &from)
static bool FixType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, FixType *value)
void MergeFrom(const Voyage &from)
boost::units::quantity< to_bow_unit, google::protobuf::uint32 > to_bow_with_units() const
static bool ShipType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ShipType *value)
boost::units::unit< to_bow_dimension, boost::units::si::system > to_bow_unit
void set_name(ArgT0 &&arg0, ArgT... args)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const std::string & ShipType_Name(T enum_t_value)
Quantity to_bow_with_units() const
boost::units::length_dimension to_port_dimension
boost::units::quantity< to_starboard_unit, google::protobuf::uint32 > to_starboard_with_units() const
boost::units::quantity< to_port_unit, google::protobuf::uint32 > to_port_with_units() const
boost::units::length_dimension draught_dimension
boost::units::quantity< to_stern_unit, google::protobuf::uint32 > to_stern_with_units() const
Quantity to_starboard_with_units() const
Quantity draught_with_units() const
Voyage * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void set_to_starboard_with_units(Quantity value_w_units)
boost::units::length_dimension to_bow_dimension
void set_destination(ArgT0 &&arg0, ArgT... args)
constexpr Position_TurnInfo Position_TurnInfo_TurnInfo_MIN
bool Voyage_FixType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Voyage_FixType *value)
constexpr Status Status_MAX
constexpr int Voyage_ShipType_ShipType_ARRAYSIZE
constexpr int Status_ARRAYSIZE
bool Voyage_FixType_IsValid(int value)
Position_PositionAccuracy
@ Position_PositionAccuracy_ACCURACY__HIGH__BELOW_10_METERS
@ Position_PositionAccuracy_ACCURACY__LOW__ABOVE_10_METERS
const std::string & Voyage_ShipType_Name(T enum_t_value)
bool Status_IsValid(int value)
bool Voyage_ShipType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Voyage_ShipType *value)
@ Position_TurnInfo_TURN_INFO__NOT_TURNING
@ Position_TurnInfo_TURN_INFO__NO_TURN_INFORMATION
@ Position_TurnInfo_TURN_INFO__TURNING_RIGHT_AT_MORE_THAN_5_DEG_PER_30_SEC
@ Position_TurnInfo_TURN_INFO__TURNING_AT_GIVEN_RATE
@ Position_TurnInfo_TURN_INFO__TURNING_LEFT_AT_MORE_THAN_5_DEG_PER_30_SEC
const std::string & Status_Name(T enum_t_value)
constexpr Voyage_FixType Voyage_FixType_FixType_MAX
@ Voyage_FixType_FIX__GALILEO
@ Voyage_FixType_FIX__COMBINED_GPS_AND_GLONASS
@ Voyage_FixType_FIX__CHAYKA
@ Voyage_FixType_FIX__LORAN_C
@ Voyage_FixType_FIX__SURVEYED
@ Voyage_FixType_FIX__GPS
@ Voyage_FixType_FIX__INTEGRATED_NAVIGATION_SYSTEM
@ Voyage_FixType_FIX__GLONASS
@ Voyage_FixType_FIX__UNDEFINED
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Position_TurnInfo_descriptor()
constexpr int Position_PositionAccuracy_PositionAccuracy_ARRAYSIZE
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Voyage_FixType_descriptor()
constexpr int Position_TurnInfo_TurnInfo_ARRAYSIZE
bool Status_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Status *value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Position_PositionAccuracy_descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Voyage_ShipType_descriptor()
bool Position_PositionAccuracy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Position_PositionAccuracy *value)
bool Position_TurnInfo_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Position_TurnInfo *value)
bool Position_TurnInfo_IsValid(int value)
@ AIS_STATUS__UNDER_WAY_SAILING
@ AIS_STATUS__CONSTRAINED_BY_HER_DRAUGHT
@ AIS_STATUS__RESERVED_11
@ AIS_STATUS__NOT_UNDER_COMMAND
@ AIS_STATUS__ENGAGED_IN_FISHING
@ AIS_STATUS__RESERVED_12
@ AIS_STATUS__RESERVED_13
@ AIS_STATUS__UNDER_WAY_USING_ENGINE
@ AIS_STATUS__SART_IS_ACTIVE
@ AIS_STATUS__NOT_DEFINED
@ AIS_STATUS__RESERVED_FOR_WING_IN_GROUND
@ AIS_STATUS__RESERVED_FOR_HIGH_SPEED_CRAFT
@ AIS_STATUS__RESTRICTED_MANOEUVERABILITY
constexpr Voyage_FixType Voyage_FixType_FixType_MIN
constexpr Voyage_ShipType Voyage_ShipType_ShipType_MIN
const std::string & Position_PositionAccuracy_Name(T enum_t_value)
PositionDefaultTypeInternal _Position_default_instance_
constexpr Position_TurnInfo Position_TurnInfo_TurnInfo_MAX
const std::string & Voyage_FixType_Name(T enum_t_value)
@ Voyage_ShipType_TYPE__TOWING_LENGTH_EXCEEDS_200M_OR_BREADTH_EXCEEDS_25M
@ Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_B
@ Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_A
@ Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_A
@ Voyage_ShipType_TYPE__OTHER_RESERVED_67
@ Voyage_ShipType_TYPE__TANKER_RESERVED_68
@ Voyage_ShipType_TYPE__PASSENGER
@ Voyage_ShipType_TYPE__CARGO_NO_ADDITIONAL_INFORMATION
@ Voyage_ShipType_TYPE__RESERVED_10
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_B
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_26
@ Voyage_ShipType_TYPE__PASSENGER_RESERVED_65
@ Voyage_ShipType_TYPE__RESERVED_2
@ Voyage_ShipType_TYPE__PASSENGER_RESERVED_67
@ Voyage_ShipType_TYPE__TANKER_RESERVED_67
@ Voyage_ShipType_TYPE__NOT_AVAILABLE
@ Voyage_ShipType_TYPE__TANKER
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT
@ Voyage_ShipType_TYPE__OTHER_RESERVED_65
@ Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_D
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_47
@ Voyage_ShipType_TYPE__CARGO_RESERVED_65
@ Voyage_ShipType_TYPE__TANKER_RESERVED_66
@ Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_D
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_A
@ Voyage_ShipType_TYPE__DIVING_OPS
@ Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_C
@ Voyage_ShipType_TYPE__PASSENGER_NO_ADDITIONAL_INFORMATION
@ Voyage_ShipType_TYPE__RESERVED_3
@ Voyage_ShipType_TYPE__RESERVED_15
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_27
@ Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_A
@ Voyage_ShipType_TYPE__MILITARY_OPS
@ Voyage_ShipType_TYPE__OTHER_NO_ADDITIONAL_INFORMATION
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_28
@ Voyage_ShipType_TYPE__RESERVED_39
@ Voyage_ShipType_TYPE__PORT_TENDER
@ Voyage_ShipType_TYPE__OTHER
@ Voyage_ShipType_TYPE__TANKER_NO_ADDITIONAL_INFORMATION
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_C
@ Voyage_ShipType_TYPE__CARGO_RESERVED_68
@ Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_D
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_NO_ADDITIONAL_INFORMATION
@ Voyage_ShipType_TYPE__RESERVED_6
@ Voyage_ShipType_TYPE__RESERVED_12
@ Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_C
@ Voyage_ShipType_TYPE__FISHING
@ Voyage_ShipType_TYPE__DREDGING_OR_UNDERWATER_OPS
@ Voyage_ShipType_TYPE__TANKER_RESERVED_65
@ Voyage_ShipType_TYPE__RESERVED_16
@ Voyage_ShipType_TYPE__RESERVED_8
@ Voyage_ShipType_TYPE__RESERVED_13
@ Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_B
@ Voyage_ShipType_TYPE__WING_IN_GROUND
@ Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_B
@ Voyage_ShipType_TYPE__OTHER_RESERVED_68
@ Voyage_ShipType_TYPE__RESERVED_18
@ Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_B
@ Voyage_ShipType_TYPE__RESERVED_38
@ Voyage_ShipType_TYPE__RESERVED_9
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_29
@ Voyage_ShipType_TYPE__RESERVED_11
@ Voyage_ShipType_TYPE__NONCOMBATANT_SHIP_ACCORDING_TO_RR_RESOLUTION_NO_18
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_D
@ Voyage_ShipType_TYPE__LAW_ENFORCEMENT
@ Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_D
@ Voyage_ShipType_TYPE__PASSENGER_RESERVED_68
@ Voyage_ShipType_TYPE__SPARE57_LOCAL_VESSEL
@ Voyage_ShipType_TYPE__RESERVED_4
@ Voyage_ShipType_TYPE__SAILING
@ Voyage_ShipType_TYPE__PASSENGER_RESERVED_66
@ Voyage_ShipType_TYPE__CARGO
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_48
@ Voyage_ShipType_TYPE__CARGO_RESERVED_66
@ Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_C
@ Voyage_ShipType_TYPE__RESERVED_17
@ Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_C
@ Voyage_ShipType_TYPE__TOWING
@ Voyage_ShipType_TYPE__OTHER_RESERVED_66
@ Voyage_ShipType_TYPE__RESERVED_5
@ Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_A
@ Voyage_ShipType_TYPE__RESERVED_14
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_46
@ Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_B
@ Voyage_ShipType_TYPE__RESERVED_1
@ Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_D
@ Voyage_ShipType_TYPE__SPARE56_LOCAL_VESSEL
@ Voyage_ShipType_TYPE__PLEASURE_CRAFT
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_45
@ Voyage_ShipType_TYPE__ANTI_POLLUTION_EQUIPMENT
@ Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_A
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_25
@ Voyage_ShipType_TYPE__RESERVED_7
@ Voyage_ShipType_TYPE__MEDICAL_TRANSPORT
@ Voyage_ShipType_TYPE__CARGO_RESERVED_67
@ Voyage_ShipType_TYPE__SEARCH_AND_RESCUE_VESSEL
@ Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_C
@ Voyage_ShipType_TYPE__TUG
@ Voyage_ShipType_TYPE__PILOT_VESSEL
@ Voyage_ShipType_TYPE__RESERVED_19
constexpr Position_PositionAccuracy Position_PositionAccuracy_PositionAccuracy_MAX
bool Voyage_ShipType_IsValid(int value)
bool Position_PositionAccuracy_IsValid(int value)
constexpr int Voyage_FixType_FixType_ARRAYSIZE
constexpr Position_PositionAccuracy Position_PositionAccuracy_PositionAccuracy_MIN
constexpr Status Status_MIN
const std::string & Position_TurnInfo_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Status_descriptor()
VoyageDefaultTypeInternal _Voyage_default_instance_
constexpr Voyage_ShipType Voyage_ShipType_ShipType_MAX
The global namespace for the Goby project.
static const uint32_t offsets[]