Goby3 3.2.3
2025.05.13
Loading...
Searching...
No Matches
ais.pb.h
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: goby/util/protobuf/ais.proto
3
4#ifndef GOOGLE_PROTOBUF_INCLUDED_goby_2futil_2fprotobuf_2fais_2eproto
5#define GOOGLE_PROTOBUF_INCLUDED_goby_2futil_2fprotobuf_2fais_2eproto
6
7#include <limits>
8#include <string>
9
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
14#error your headers.
15#endif
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.
20#endif
21
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> // IWYU pragma: export
31#include <google/protobuf/extension_set.h> // IWYU pragma: export
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>
39
40#include <boost/units/systems/angle/degrees.hpp>
41
42#include <boost/units/systems/si.hpp>
43// @@protoc_insertion_point(includes)
44#include <google/protobuf/port_def.inc>
45#define PROTOBUF_INTERNAL_EXPORT_goby_2futil_2fprotobuf_2fais_2eproto
46PROTOBUF_NAMESPACE_OPEN
47namespace internal {
48class AnyMetadata;
49} // namespace internal
50PROTOBUF_NAMESPACE_CLOSE
51
52// Internal implementation detail -- do not use these members.
54 static const uint32_t offsets[];
55};
56extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_goby_2futil_2fprotobuf_2fais_2eproto;
57namespace goby {
58namespace util {
59namespace ais {
60namespace protobuf {
61class Position;
62struct PositionDefaultTypeInternal;
63extern PositionDefaultTypeInternal _Position_default_instance_;
64class Voyage;
65struct VoyageDefaultTypeInternal;
66extern VoyageDefaultTypeInternal _Voyage_default_instance_;
67} // namespace protobuf
68} // namespace ais
69} // namespace util
70} // namespace goby
71PROTOBUF_NAMESPACE_OPEN
72template<> ::goby::util::ais::protobuf::Position* Arena::CreateMaybeMessage<::goby::util::ais::protobuf::Position>(Arena*);
73template<> ::goby::util::ais::protobuf::Voyage* Arena::CreateMaybeMessage<::goby::util::ais::protobuf::Voyage>(Arena*);
74PROTOBUF_NAMESPACE_CLOSE
75namespace goby {
76namespace util {
77namespace ais {
78namespace protobuf {
79
91
92const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Position_TurnInfo_descriptor();
93template<typename T>
94inline const std::string& Position_TurnInfo_Name(T enum_t_value) {
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(
99 Position_TurnInfo_descriptor(), enum_t_value);
100}
102 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Position_TurnInfo* value) {
103 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Position_TurnInfo>(
104 Position_TurnInfo_descriptor(), name, value);
105}
114
115const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Position_PositionAccuracy_descriptor();
116template<typename T>
117inline const std::string& Position_PositionAccuracy_Name(T enum_t_value) {
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(
123}
125 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Position_PositionAccuracy* value) {
126 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Position_PositionAccuracy>(
128}
129enum Voyage_ShipType : int {
235
236const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Voyage_ShipType_descriptor();
237template<typename T>
238inline const std::string& Voyage_ShipType_Name(T enum_t_value) {
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(
243 Voyage_ShipType_descriptor(), enum_t_value);
244}
246 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Voyage_ShipType* value) {
247 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Voyage_ShipType>(
248 Voyage_ShipType_descriptor(), name, value);
249}
265
266const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Voyage_FixType_descriptor();
267template<typename T>
268inline const std::string& Voyage_FixType_Name(T enum_t_value) {
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(
273 Voyage_FixType_descriptor(), enum_t_value);
274}
276 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Voyage_FixType* value) {
277 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Voyage_FixType>(
278 Voyage_FixType_descriptor(), name, value);
279}
298bool Status_IsValid(int value);
301constexpr int Status_ARRAYSIZE = Status_MAX + 1;
302
303const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Status_descriptor();
304template<typename T>
305inline const std::string& Status_Name(T enum_t_value) {
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(
310 Status_descriptor(), enum_t_value);
311}
312inline bool Status_Parse(
313 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Status* value) {
314 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<Status>(
315 Status_descriptor(), name, value);
316}
317// ===================================================================
318
319class Position final :
320 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:goby.util.ais.protobuf.Position) */ {
321 public:
322 inline Position() : Position(nullptr) {}
323 ~Position() override;
324 explicit PROTOBUF_CONSTEXPR Position(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
325
326 Position(const Position& from);
327 Position(Position&& from) noexcept
328 : Position() {
329 *this = ::std::move(from);
330 }
331
332 inline Position& operator=(const Position& from) {
333 CopyFrom(from);
334 return *this;
335 }
336 inline Position& operator=(Position&& from) noexcept {
337 if (this == &from) return *this;
338 if (GetOwningArena() == from.GetOwningArena()
339 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
340 && GetOwningArena() != nullptr
341 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
342 ) {
343 InternalSwap(&from);
344 } else {
345 CopyFrom(from);
346 }
347 return *this;
348 }
349
350 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
351 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
352 }
353 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
354 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
355 }
356
357 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
358 return GetDescriptor();
359 }
360 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
361 return default_instance().GetMetadata().descriptor;
362 }
363 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
364 return default_instance().GetMetadata().reflection;
365 }
366 static const Position& default_instance() {
368 }
369 static inline const Position* internal_default_instance() {
370 return reinterpret_cast<const Position*>(
372 }
373 static constexpr int kIndexInFileMessages =
374 0;
375
376 friend void swap(Position& a, Position& b) {
377 a.Swap(&b);
378 }
379 inline void Swap(Position* other) {
380 if (other == this) return;
381 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
382 if (GetOwningArena() != nullptr &&
383 GetOwningArena() == other->GetOwningArena()) {
384 #else // PROTOBUF_FORCE_COPY_IN_SWAP
385 if (GetOwningArena() == other->GetOwningArena()) {
386 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
387 InternalSwap(other);
388 } else {
389 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
390 }
391 }
393 if (other == this) return;
394 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
395 InternalSwap(other);
396 }
397
398 // implements Message ----------------------------------------------
399
400 Position* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
401 return CreateMaybeMessage<Position>(arena);
402 }
403 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
404 void CopyFrom(const Position& from);
405 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
406 void MergeFrom( const Position& from) {
407 Position::MergeImpl(*this, from);
408 }
409 private:
410 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
411 public:
412 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
413 bool IsInitialized() const final;
414
415 size_t ByteSizeLong() const final;
416 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
418 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
419 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
420
421 private:
422 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
423 void SharedDtor();
424 void SetCachedSize(int size) const final;
425 void InternalSwap(Position* other);
426
427 private:
428 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
429 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
430 return "goby.util.ais.protobuf.Position";
431 }
432 protected:
433 explicit Position(::PROTOBUF_NAMESPACE_ID::Arena* arena,
434 bool is_message_owned = false);
435 public:
436
437 static const ClassData _class_data_;
438 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
439
440 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
441
442 // nested types ----------------------------------------------------
443
455 static inline bool TurnInfo_IsValid(int value) {
456 return Position_TurnInfo_IsValid(value);
457 }
458 static constexpr TurnInfo TurnInfo_MIN =
460 static constexpr TurnInfo TurnInfo_MAX =
462 static constexpr int TurnInfo_ARRAYSIZE =
464 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
468 template<typename T>
469 static inline const std::string& TurnInfo_Name(T enum_t_value) {
470 static_assert(::std::is_same<T, TurnInfo>::value ||
471 ::std::is_integral<T>::value,
472 "Incorrect type passed to function TurnInfo_Name.");
473 return Position_TurnInfo_Name(enum_t_value);
474 }
475 static inline bool TurnInfo_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
476 TurnInfo* value) {
477 return Position_TurnInfo_Parse(name, value);
478 }
479
485 static inline bool PositionAccuracy_IsValid(int value) {
487 }
492 static constexpr int PositionAccuracy_ARRAYSIZE =
494 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
498 template<typename T>
499 static inline const std::string& PositionAccuracy_Name(T enum_t_value) {
500 static_assert(::std::is_same<T, PositionAccuracy>::value ||
501 ::std::is_integral<T>::value,
502 "Incorrect type passed to function PositionAccuracy_Name.");
503 return Position_PositionAccuracy_Name(enum_t_value);
504 }
505 static inline bool PositionAccuracy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
506 PositionAccuracy* value) {
507 return Position_PositionAccuracy_Parse(name, value);
508 }
509
510 // accessors -------------------------------------------------------
511
512 enum : int {
526 };
527 // optional int32 message_id = 2 [default = 0, (.dccl.field) = {
528 bool has_message_id() const;
529 private:
530 bool _internal_has_message_id() const;
531 public:
532 void clear_message_id();
533 int32_t message_id() const;
534 void set_message_id(int32_t value);
535 private:
536 int32_t _internal_message_id() const;
537 void _internal_set_message_id(int32_t value);
538 public:
539
540 // optional int32 mmsi = 3 [(.dccl.field) = {
541 bool has_mmsi() const;
542 private:
543 bool _internal_has_mmsi() const;
544 public:
545 void clear_mmsi();
546 int32_t mmsi() const;
547 void set_mmsi(int32_t value);
548 private:
549 int32_t _internal_mmsi() const;
550 void _internal_set_mmsi(int32_t value);
551 public:
552
553 // optional float turn_rate = 6 [(.dccl.field) = {
554 bool has_turn_rate() const;
555 private:
556 bool _internal_has_turn_rate() const;
557 public:
558 void clear_turn_rate();
559 float turn_rate() const;
560 void set_turn_rate(float value);
561 private:
562 float _internal_turn_rate() const;
563 void _internal_set_turn_rate(float value);
564 public:
565
566 // optional float speed_over_ground = 7 [(.dccl.field) = {
567 bool has_speed_over_ground() const;
568 private:
569 bool _internal_has_speed_over_ground() const;
570 public:
572 float speed_over_ground() const;
573 void set_speed_over_ground(float value);
574 private:
575 float _internal_speed_over_ground() const;
576 void _internal_set_speed_over_ground(float value);
577 public:
578
579 // optional double lat = 9 [(.dccl.field) = {
580 bool has_lat() const;
581 private:
582 bool _internal_has_lat() const;
583 public:
584 void clear_lat();
585 double lat() const;
586 void set_lat(double value);
587 private:
588 double _internal_lat() const;
589 void _internal_set_lat(double value);
590 public:
591
592 // optional .goby.util.ais.protobuf.Position.PositionAccuracy position_accuracy = 8 [default = ACCURACY__LOW__ABOVE_10_METERS];
593 bool has_position_accuracy() const;
594 private:
595 bool _internal_has_position_accuracy() const;
596 public:
600 private:
601 ::goby::util::ais::protobuf::Position_PositionAccuracy _internal_position_accuracy() const;
602 void _internal_set_position_accuracy(::goby::util::ais::protobuf::Position_PositionAccuracy value);
603 public:
604
605 // optional float course_over_ground = 11 [(.dccl.field) = {
606 bool has_course_over_ground() const;
607 private:
608 bool _internal_has_course_over_ground() const;
609 public:
611 float course_over_ground() const;
612 void set_course_over_ground(float value);
613 private:
614 float _internal_course_over_ground() const;
615 void _internal_set_course_over_ground(float value);
616 public:
617
618 // optional double lon = 10 [(.dccl.field) = {
619 bool has_lon() const;
620 private:
621 bool _internal_has_lon() const;
622 public:
623 void clear_lon();
624 double lon() const;
625 void set_lon(double value);
626 private:
627 double _internal_lon() const;
628 void _internal_set_lon(double value);
629 public:
630
631 // optional float true_heading = 12 [(.dccl.field) = {
632 bool has_true_heading() const;
633 private:
634 bool _internal_has_true_heading() const;
635 public:
636 void clear_true_heading();
637 float true_heading() const;
638 void set_true_heading(float value);
639 private:
640 float _internal_true_heading() const;
641 void _internal_set_true_heading(float value);
642 public:
643
644 // optional int32 report_second = 13 [(.dccl.field) = {
645 bool has_report_second() const;
646 private:
647 bool _internal_has_report_second() const;
648 public:
649 void clear_report_second();
650 int32_t report_second() const;
651 void set_report_second(int32_t value);
652 private:
653 int32_t _internal_report_second() const;
654 void _internal_set_report_second(int32_t value);
655 public:
656
657 // optional bool raim = 14 [(.dccl.field) = {
658 bool has_raim() const;
659 private:
660 bool _internal_has_raim() const;
661 public:
662 void clear_raim();
663 bool raim() const;
664 void set_raim(bool value);
665 private:
666 bool _internal_raim() const;
667 void _internal_set_raim(bool value);
668 public:
669
670 // optional .goby.util.ais.protobuf.Status nav_status = 4 [default = AIS_STATUS__NOT_DEFINED];
671 bool has_nav_status() const;
672 private:
673 bool _internal_has_nav_status() const;
674 public:
675 void clear_nav_status();
678 private:
679 ::goby::util::ais::protobuf::Status _internal_nav_status() const;
680 void _internal_set_nav_status(::goby::util::ais::protobuf::Status value);
681 public:
682
683 // optional .goby.util.ais.protobuf.Position.TurnInfo turn_info = 5 [default = TURN_INFO__NO_TURN_INFORMATION];
684 bool has_turn_info() const;
685 private:
686 bool _internal_has_turn_info() const;
687 public:
688 void clear_turn_info();
691 private:
692 ::goby::util::ais::protobuf::Position_TurnInfo _internal_turn_info() const;
693 void _internal_set_turn_info(::goby::util::ais::protobuf::Position_TurnInfo value);
694 public:
695
696 enum DCCLParameters { DCCL_ID = 518, DCCL_MAX_BYTES = 1500 };
697 typedef boost::units::angular_velocity_dimension turn_rate_dimension;
698
699 typedef boost::units::unit<turn_rate_dimension,boost::units::si::system> turn_rate_unit;
700
701 template<typename Quantity >
702 void set_turn_rate_with_units(Quantity value_w_units)
703 { set_turn_rate(boost::units::quantity<turn_rate_unit,float >(value_w_units).value() ); };
704
705 template<typename Quantity >
706 Quantity turn_rate_with_units() const
707 { return Quantity(turn_rate() * turn_rate_unit()); };
708
709 boost::units::quantity< turn_rate_unit,float > turn_rate_with_units() const
710 { return turn_rate_with_units<boost::units::quantity< turn_rate_unit,float > >(); };
711
712 typedef boost::units::velocity_dimension speed_over_ground_dimension;
713
714 typedef boost::units::unit<speed_over_ground_dimension,boost::units::si::system> speed_over_ground_unit;
715
716 template<typename Quantity >
717 void set_speed_over_ground_with_units(Quantity value_w_units)
718 { set_speed_over_ground(boost::units::quantity<speed_over_ground_unit,float >(value_w_units).value() ); };
719
720 template<typename Quantity >
722 { return Quantity(speed_over_ground() * speed_over_ground_unit()); };
723
724 boost::units::quantity< speed_over_ground_unit,float > speed_over_ground_with_units() const
725 { return speed_over_ground_with_units<boost::units::quantity< speed_over_ground_unit,float > >(); };
726
727 typedef boost::units::plane_angle_dimension lat_dimension;
728
729 typedef boost::units::unit<lat_dimension,boost::units::degree::system> lat_unit;
730
731 template<typename Quantity >
732 void set_lat_with_units(Quantity value_w_units)
733 { set_lat(boost::units::quantity<lat_unit,double >(value_w_units).value() ); };
734
735 template<typename Quantity >
736 Quantity lat_with_units() const
737 { return Quantity(lat() * lat_unit()); };
738
739 boost::units::quantity< lat_unit,double > lat_with_units() const
740 { return lat_with_units<boost::units::quantity< lat_unit,double > >(); };
741
742 typedef boost::units::plane_angle_dimension lon_dimension;
743
744 typedef boost::units::unit<lon_dimension,boost::units::degree::system> lon_unit;
745
746 template<typename Quantity >
747 void set_lon_with_units(Quantity value_w_units)
748 { set_lon(boost::units::quantity<lon_unit,double >(value_w_units).value() ); };
749
750 template<typename Quantity >
751 Quantity lon_with_units() const
752 { return Quantity(lon() * lon_unit()); };
753
754 boost::units::quantity< lon_unit,double > lon_with_units() const
755 { return lon_with_units<boost::units::quantity< lon_unit,double > >(); };
756
757 typedef boost::units::plane_angle_dimension course_over_ground_dimension;
758
759 typedef boost::units::unit<course_over_ground_dimension,boost::units::degree::system> course_over_ground_unit;
760
761 template<typename Quantity >
762 void set_course_over_ground_with_units(Quantity value_w_units)
763 { set_course_over_ground(boost::units::quantity<course_over_ground_unit,float >(value_w_units).value() ); };
764
765 template<typename Quantity >
767 { return Quantity(course_over_ground() * course_over_ground_unit()); };
768
769 boost::units::quantity< course_over_ground_unit,float > course_over_ground_with_units() const
770 { return course_over_ground_with_units<boost::units::quantity< course_over_ground_unit,float > >(); };
771
772 typedef boost::units::plane_angle_dimension true_heading_dimension;
773
774 typedef boost::units::unit<true_heading_dimension,boost::units::degree::system> true_heading_unit;
775
776 template<typename Quantity >
777 void set_true_heading_with_units(Quantity value_w_units)
778 { set_true_heading(boost::units::quantity<true_heading_unit,float >(value_w_units).value() ); };
779
780 template<typename Quantity >
781 Quantity true_heading_with_units() const
782 { return Quantity(true_heading() * true_heading_unit()); };
783
784 boost::units::quantity< true_heading_unit,float > true_heading_with_units() const
785 { return true_heading_with_units<boost::units::quantity< true_heading_unit,float > >(); };
786
787 typedef boost::units::time_dimension report_second_dimension;
788
789 typedef boost::units::unit<report_second_dimension,boost::units::si::system> report_second_unit;
790
791 template<typename Quantity >
792 void set_report_second_with_units(Quantity value_w_units)
793 { set_report_second(boost::units::quantity<report_second_unit,google::protobuf::int32 >(value_w_units).value() ); };
794
795 template<typename Quantity >
797 { return Quantity(report_second() * report_second_unit()); };
798
799 boost::units::quantity< report_second_unit,google::protobuf::int32 > report_second_with_units() const
800 { return report_second_with_units<boost::units::quantity< report_second_unit,google::protobuf::int32 > >(); };
801
802 // @@protoc_insertion_point(class_scope:goby.util.ais.protobuf.Position)
803 private:
804 class _Internal;
805
806 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
807 typedef void InternalArenaConstructable_;
808 typedef void DestructorSkippable_;
809 struct Impl_ {
810 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
811 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
812 int32_t message_id_;
813 int32_t mmsi_;
814 float turn_rate_;
815 float speed_over_ground_;
816 double lat_;
817 int position_accuracy_;
818 float course_over_ground_;
819 double lon_;
820 float true_heading_;
821 int32_t report_second_;
822 bool raim_;
823 int nav_status_;
824 int turn_info_;
825 };
826 union { Impl_ _impl_; };
827 friend struct ::TableStruct_goby_2futil_2fprotobuf_2fais_2eproto;
828};
829// -------------------------------------------------------------------
830
831class Voyage final :
832 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:goby.util.ais.protobuf.Voyage) */ {
833 public:
834 inline Voyage() : Voyage(nullptr) {}
835 ~Voyage() override;
836 explicit PROTOBUF_CONSTEXPR Voyage(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
837
838 Voyage(const Voyage& from);
839 Voyage(Voyage&& from) noexcept
840 : Voyage() {
841 *this = ::std::move(from);
842 }
843
844 inline Voyage& operator=(const Voyage& from) {
845 CopyFrom(from);
846 return *this;
847 }
848 inline Voyage& operator=(Voyage&& from) noexcept {
849 if (this == &from) return *this;
850 if (GetOwningArena() == from.GetOwningArena()
851 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
852 && GetOwningArena() != nullptr
853 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
854 ) {
855 InternalSwap(&from);
856 } else {
857 CopyFrom(from);
858 }
859 return *this;
860 }
861
862 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
863 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
864 }
865 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
866 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
867 }
868
869 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
870 return GetDescriptor();
871 }
872 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
873 return default_instance().GetMetadata().descriptor;
874 }
875 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
876 return default_instance().GetMetadata().reflection;
877 }
878 static const Voyage& default_instance() {
879 return *internal_default_instance();
880 }
881 static inline const Voyage* internal_default_instance() {
882 return reinterpret_cast<const Voyage*>(
884 }
885 static constexpr int kIndexInFileMessages =
886 1;
887
888 friend void swap(Voyage& a, Voyage& b) {
889 a.Swap(&b);
890 }
891 inline void Swap(Voyage* other) {
892 if (other == this) return;
893 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
894 if (GetOwningArena() != nullptr &&
895 GetOwningArena() == other->GetOwningArena()) {
896 #else // PROTOBUF_FORCE_COPY_IN_SWAP
897 if (GetOwningArena() == other->GetOwningArena()) {
898 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
899 InternalSwap(other);
900 } else {
901 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
902 }
903 }
904 void UnsafeArenaSwap(Voyage* other) {
905 if (other == this) return;
906 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
907 InternalSwap(other);
908 }
909
910 // implements Message ----------------------------------------------
911
912 Voyage* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
913 return CreateMaybeMessage<Voyage>(arena);
914 }
915 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
916 void CopyFrom(const Voyage& from);
917 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
918 void MergeFrom( const Voyage& from) {
919 Voyage::MergeImpl(*this, from);
920 }
921 private:
922 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
923 public:
924 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
925 bool IsInitialized() const final;
926
927 size_t ByteSizeLong() 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(); }
932
933 private:
934 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
935 void SharedDtor();
936 void SetCachedSize(int size) const final;
937 void InternalSwap(Voyage* other);
938
939 private:
940 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
941 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
942 return "goby.util.ais.protobuf.Voyage";
943 }
944 protected:
945 explicit Voyage(::PROTOBUF_NAMESPACE_ID::Arena* arena,
946 bool is_message_owned = false);
947 public:
948
949 static const ClassData _class_data_;
950 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
951
952 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
953
954 // nested types ----------------------------------------------------
955
957 static constexpr ShipType TYPE__NOT_AVAILABLE =
958 Voyage_ShipType_TYPE__NOT_AVAILABLE;
959 static constexpr ShipType TYPE__RESERVED_1 =
960 Voyage_ShipType_TYPE__RESERVED_1;
961 static constexpr ShipType TYPE__RESERVED_2 =
962 Voyage_ShipType_TYPE__RESERVED_2;
963 static constexpr ShipType TYPE__RESERVED_3 =
964 Voyage_ShipType_TYPE__RESERVED_3;
965 static constexpr ShipType TYPE__RESERVED_4 =
966 Voyage_ShipType_TYPE__RESERVED_4;
967 static constexpr ShipType TYPE__RESERVED_5 =
968 Voyage_ShipType_TYPE__RESERVED_5;
969 static constexpr ShipType TYPE__RESERVED_6 =
970 Voyage_ShipType_TYPE__RESERVED_6;
971 static constexpr ShipType TYPE__RESERVED_7 =
972 Voyage_ShipType_TYPE__RESERVED_7;
973 static constexpr ShipType TYPE__RESERVED_8 =
974 Voyage_ShipType_TYPE__RESERVED_8;
975 static constexpr ShipType TYPE__RESERVED_9 =
976 Voyage_ShipType_TYPE__RESERVED_9;
977 static constexpr ShipType TYPE__RESERVED_10 =
978 Voyage_ShipType_TYPE__RESERVED_10;
979 static constexpr ShipType TYPE__RESERVED_11 =
980 Voyage_ShipType_TYPE__RESERVED_11;
981 static constexpr ShipType TYPE__RESERVED_12 =
982 Voyage_ShipType_TYPE__RESERVED_12;
983 static constexpr ShipType TYPE__RESERVED_13 =
984 Voyage_ShipType_TYPE__RESERVED_13;
985 static constexpr ShipType TYPE__RESERVED_14 =
986 Voyage_ShipType_TYPE__RESERVED_14;
987 static constexpr ShipType TYPE__RESERVED_15 =
988 Voyage_ShipType_TYPE__RESERVED_15;
989 static constexpr ShipType TYPE__RESERVED_16 =
990 Voyage_ShipType_TYPE__RESERVED_16;
991 static constexpr ShipType TYPE__RESERVED_17 =
992 Voyage_ShipType_TYPE__RESERVED_17;
993 static constexpr ShipType TYPE__RESERVED_18 =
994 Voyage_ShipType_TYPE__RESERVED_18;
995 static constexpr ShipType TYPE__RESERVED_19 =
996 Voyage_ShipType_TYPE__RESERVED_19;
997 static constexpr ShipType TYPE__WING_IN_GROUND =
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;
1017 static constexpr ShipType TYPE__FISHING =
1018 Voyage_ShipType_TYPE__FISHING;
1019 static constexpr ShipType TYPE__TOWING =
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;
1025 static constexpr ShipType TYPE__DIVING_OPS =
1026 Voyage_ShipType_TYPE__DIVING_OPS;
1027 static constexpr ShipType TYPE__MILITARY_OPS =
1028 Voyage_ShipType_TYPE__MILITARY_OPS;
1029 static constexpr ShipType TYPE__SAILING =
1030 Voyage_ShipType_TYPE__SAILING;
1031 static constexpr ShipType TYPE__PLEASURE_CRAFT =
1032 Voyage_ShipType_TYPE__PLEASURE_CRAFT;
1033 static constexpr ShipType TYPE__RESERVED_38 =
1034 Voyage_ShipType_TYPE__RESERVED_38;
1035 static constexpr ShipType TYPE__RESERVED_39 =
1036 Voyage_ShipType_TYPE__RESERVED_39;
1037 static constexpr ShipType TYPE__HIGH_SPEED_CRAFT =
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;
1057 static constexpr ShipType TYPE__PILOT_VESSEL =
1058 Voyage_ShipType_TYPE__PILOT_VESSEL;
1059 static constexpr ShipType TYPE__SEARCH_AND_RESCUE_VESSEL =
1060 Voyage_ShipType_TYPE__SEARCH_AND_RESCUE_VESSEL;
1061 static constexpr ShipType TYPE__TUG =
1062 Voyage_ShipType_TYPE__TUG;
1063 static constexpr ShipType TYPE__PORT_TENDER =
1064 Voyage_ShipType_TYPE__PORT_TENDER;
1065 static constexpr ShipType TYPE__ANTI_POLLUTION_EQUIPMENT =
1066 Voyage_ShipType_TYPE__ANTI_POLLUTION_EQUIPMENT;
1067 static constexpr ShipType TYPE__LAW_ENFORCEMENT =
1068 Voyage_ShipType_TYPE__LAW_ENFORCEMENT;
1069 static constexpr ShipType TYPE__SPARE56_LOCAL_VESSEL =
1070 Voyage_ShipType_TYPE__SPARE56_LOCAL_VESSEL;
1071 static constexpr ShipType TYPE__SPARE57_LOCAL_VESSEL =
1072 Voyage_ShipType_TYPE__SPARE57_LOCAL_VESSEL;
1073 static constexpr ShipType TYPE__MEDICAL_TRANSPORT =
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;
1077 static constexpr ShipType TYPE__PASSENGER =
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;
1097 static constexpr ShipType TYPE__CARGO =
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;
1107 static constexpr ShipType TYPE__CARGO_RESERVED_65 =
1108 Voyage_ShipType_TYPE__CARGO_RESERVED_65;
1109 static constexpr ShipType TYPE__CARGO_RESERVED_66 =
1110 Voyage_ShipType_TYPE__CARGO_RESERVED_66;
1111 static constexpr ShipType TYPE__CARGO_RESERVED_67 =
1112 Voyage_ShipType_TYPE__CARGO_RESERVED_67;
1113 static constexpr ShipType TYPE__CARGO_RESERVED_68 =
1114 Voyage_ShipType_TYPE__CARGO_RESERVED_68;
1115 static constexpr ShipType TYPE__CARGO_NO_ADDITIONAL_INFORMATION =
1116 Voyage_ShipType_TYPE__CARGO_NO_ADDITIONAL_INFORMATION;
1117 static constexpr ShipType TYPE__TANKER =
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;
1127 static constexpr ShipType TYPE__TANKER_RESERVED_65 =
1128 Voyage_ShipType_TYPE__TANKER_RESERVED_65;
1129 static constexpr ShipType TYPE__TANKER_RESERVED_66 =
1130 Voyage_ShipType_TYPE__TANKER_RESERVED_66;
1131 static constexpr ShipType TYPE__TANKER_RESERVED_67 =
1132 Voyage_ShipType_TYPE__TANKER_RESERVED_67;
1133 static constexpr ShipType TYPE__TANKER_RESERVED_68 =
1134 Voyage_ShipType_TYPE__TANKER_RESERVED_68;
1135 static constexpr ShipType TYPE__TANKER_NO_ADDITIONAL_INFORMATION =
1136 Voyage_ShipType_TYPE__TANKER_NO_ADDITIONAL_INFORMATION;
1137 static constexpr ShipType TYPE__OTHER =
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;
1147 static constexpr ShipType TYPE__OTHER_RESERVED_65 =
1148 Voyage_ShipType_TYPE__OTHER_RESERVED_65;
1149 static constexpr ShipType TYPE__OTHER_RESERVED_66 =
1150 Voyage_ShipType_TYPE__OTHER_RESERVED_66;
1151 static constexpr ShipType TYPE__OTHER_RESERVED_67 =
1152 Voyage_ShipType_TYPE__OTHER_RESERVED_67;
1153 static constexpr ShipType TYPE__OTHER_RESERVED_68 =
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) {
1158 return Voyage_ShipType_IsValid(value);
1159 }
1160 static constexpr ShipType ShipType_MIN =
1162 static constexpr ShipType ShipType_MAX =
1164 static constexpr int ShipType_ARRAYSIZE =
1166 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1170 template<typename T>
1171 static inline const std::string& ShipType_Name(T enum_t_value) {
1172 static_assert(::std::is_same<T, ShipType>::value ||
1173 ::std::is_integral<T>::value,
1174 "Incorrect type passed to function ShipType_Name.");
1175 return Voyage_ShipType_Name(enum_t_value);
1176 }
1177 static inline bool ShipType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
1178 ShipType* value) {
1179 return Voyage_ShipType_Parse(name, value);
1180 }
1181
1183 static constexpr FixType FIX__UNDEFINED =
1185 static constexpr FixType FIX__GPS =
1187 static constexpr FixType FIX__GLONASS =
1189 static constexpr FixType FIX__COMBINED_GPS_AND_GLONASS =
1191 static constexpr FixType FIX__LORAN_C =
1193 static constexpr FixType FIX__CHAYKA =
1195 static constexpr FixType FIX__INTEGRATED_NAVIGATION_SYSTEM =
1197 static constexpr FixType FIX__SURVEYED =
1199 static constexpr FixType FIX__GALILEO =
1201 static inline bool FixType_IsValid(int value) {
1202 return Voyage_FixType_IsValid(value);
1203 }
1204 static constexpr FixType FixType_MIN =
1206 static constexpr FixType FixType_MAX =
1208 static constexpr int FixType_ARRAYSIZE =
1210 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1214 template<typename T>
1215 static inline const std::string& FixType_Name(T enum_t_value) {
1216 static_assert(::std::is_same<T, FixType>::value ||
1217 ::std::is_integral<T>::value,
1218 "Incorrect type passed to function FixType_Name.");
1219 return Voyage_FixType_Name(enum_t_value);
1220 }
1221 static inline bool FixType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
1222 FixType* value) {
1223 return Voyage_FixType_Parse(name, value);
1224 }
1225
1226 // accessors -------------------------------------------------------
1227
1228 enum : int {
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,
1246 };
1247 // optional string callsign = 5 [(.dccl.field) = {
1248 bool has_callsign() const;
1249 private:
1250 bool _internal_has_callsign() const;
1251 public:
1252 void clear_callsign();
1253 const std::string& callsign() const;
1254 template <typename ArgT0 = const std::string&, typename... ArgT>
1255 void set_callsign(ArgT0&& arg0, ArgT... args);
1256 std::string* mutable_callsign();
1257 PROTOBUF_NODISCARD std::string* release_callsign();
1258 void set_allocated_callsign(std::string* callsign);
1259 private:
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();
1263 public:
1264
1265 // optional string name = 6 [(.dccl.field) = {
1266 bool has_name() const;
1267 private:
1268 bool _internal_has_name() const;
1269 public:
1270 void clear_name();
1271 const std::string& name() const;
1272 template <typename ArgT0 = const std::string&, typename... ArgT>
1273 void set_name(ArgT0&& arg0, ArgT... args);
1274 std::string* mutable_name();
1275 PROTOBUF_NODISCARD std::string* release_name();
1276 void set_allocated_name(std::string* name);
1277 private:
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();
1281 public:
1282
1283 // optional string destination = 18 [(.dccl.field) = {
1284 bool has_destination() const;
1285 private:
1286 bool _internal_has_destination() const;
1287 public:
1288 void clear_destination();
1289 const std::string& destination() const;
1290 template <typename ArgT0 = const std::string&, typename... ArgT>
1291 void set_destination(ArgT0&& arg0, ArgT... args);
1292 std::string* mutable_destination();
1293 PROTOBUF_NODISCARD std::string* release_destination();
1294 void set_allocated_destination(std::string* destination);
1295 private:
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();
1299 public:
1300
1301 // optional int32 message_id = 2 [default = 0, (.dccl.field) = {
1302 bool has_message_id() const;
1303 private:
1304 bool _internal_has_message_id() const;
1305 public:
1306 void clear_message_id();
1307 int32_t message_id() const;
1308 void set_message_id(int32_t value);
1309 private:
1310 int32_t _internal_message_id() const;
1311 void _internal_set_message_id(int32_t value);
1312 public:
1313
1314 // optional int32 mmsi = 3 [(.dccl.field) = {
1315 bool has_mmsi() const;
1316 private:
1317 bool _internal_has_mmsi() const;
1318 public:
1319 void clear_mmsi();
1320 int32_t mmsi() const;
1321 void set_mmsi(int32_t value);
1322 private:
1323 int32_t _internal_mmsi() const;
1324 void _internal_set_mmsi(int32_t value);
1325 public:
1326
1327 // optional int32 imo = 4 [(.dccl.field) = {
1328 bool has_imo() const;
1329 private:
1330 bool _internal_has_imo() const;
1331 public:
1332 void clear_imo();
1333 int32_t imo() const;
1334 void set_imo(int32_t value);
1335 private:
1336 int32_t _internal_imo() const;
1337 void _internal_set_imo(int32_t value);
1338 public:
1339
1340 // optional .goby.util.ais.protobuf.Voyage.ShipType type = 7 [default = TYPE__NOT_AVAILABLE];
1341 bool has_type() const;
1342 private:
1343 bool _internal_has_type() const;
1344 public:
1345 void clear_type();
1348 private:
1349 ::goby::util::ais::protobuf::Voyage_ShipType _internal_type() const;
1350 void _internal_set_type(::goby::util::ais::protobuf::Voyage_ShipType value);
1351 public:
1352
1353 // optional uint32 to_bow = 8 [(.dccl.field) = {
1354 bool has_to_bow() const;
1355 private:
1356 bool _internal_has_to_bow() const;
1357 public:
1358 void clear_to_bow();
1359 uint32_t to_bow() const;
1360 void set_to_bow(uint32_t value);
1361 private:
1362 uint32_t _internal_to_bow() const;
1363 void _internal_set_to_bow(uint32_t value);
1364 public:
1365
1366 // optional uint32 to_stern = 9 [(.dccl.field) = {
1367 bool has_to_stern() const;
1368 private:
1369 bool _internal_has_to_stern() const;
1370 public:
1371 void clear_to_stern();
1372 uint32_t to_stern() const;
1373 void set_to_stern(uint32_t value);
1374 private:
1375 uint32_t _internal_to_stern() const;
1376 void _internal_set_to_stern(uint32_t value);
1377 public:
1378
1379 // optional uint32 to_port = 10 [(.dccl.field) = {
1380 bool has_to_port() const;
1381 private:
1382 bool _internal_has_to_port() const;
1383 public:
1384 void clear_to_port();
1385 uint32_t to_port() const;
1386 void set_to_port(uint32_t value);
1387 private:
1388 uint32_t _internal_to_port() const;
1389 void _internal_set_to_port(uint32_t value);
1390 public:
1391
1392 // optional uint32 to_starboard = 11 [(.dccl.field) = {
1393 bool has_to_starboard() const;
1394 private:
1395 bool _internal_has_to_starboard() const;
1396 public:
1397 void clear_to_starboard();
1398 uint32_t to_starboard() const;
1399 void set_to_starboard(uint32_t value);
1400 private:
1401 uint32_t _internal_to_starboard() const;
1402 void _internal_set_to_starboard(uint32_t value);
1403 public:
1404
1405 // optional .goby.util.ais.protobuf.Voyage.FixType fix_type = 12 [default = FIX__UNDEFINED];
1406 bool has_fix_type() const;
1407 private:
1408 bool _internal_has_fix_type() const;
1409 public:
1410 void clear_fix_type();
1412 void set_fix_type(::goby::util::ais::protobuf::Voyage_FixType value);
1413 private:
1414 ::goby::util::ais::protobuf::Voyage_FixType _internal_fix_type() const;
1415 void _internal_set_fix_type(::goby::util::ais::protobuf::Voyage_FixType value);
1416 public:
1417
1418 // optional uint32 eta_month = 13 [(.dccl.field) = {
1419 bool has_eta_month() const;
1420 private:
1421 bool _internal_has_eta_month() const;
1422 public:
1423 void clear_eta_month();
1424 uint32_t eta_month() const;
1425 void set_eta_month(uint32_t value);
1426 private:
1427 uint32_t _internal_eta_month() const;
1428 void _internal_set_eta_month(uint32_t value);
1429 public:
1430
1431 // optional uint32 eta_day = 14 [(.dccl.field) = {
1432 bool has_eta_day() const;
1433 private:
1434 bool _internal_has_eta_day() const;
1435 public:
1436 void clear_eta_day();
1437 uint32_t eta_day() const;
1438 void set_eta_day(uint32_t value);
1439 private:
1440 uint32_t _internal_eta_day() const;
1441 void _internal_set_eta_day(uint32_t value);
1442 public:
1443
1444 // optional uint32 eta_hour = 15 [(.dccl.field) = {
1445 bool has_eta_hour() const;
1446 private:
1447 bool _internal_has_eta_hour() const;
1448 public:
1449 void clear_eta_hour();
1450 uint32_t eta_hour() const;
1451 void set_eta_hour(uint32_t value);
1452 private:
1453 uint32_t _internal_eta_hour() const;
1454 void _internal_set_eta_hour(uint32_t value);
1455 public:
1456
1457 // optional uint32 eta_minute = 16 [(.dccl.field) = {
1458 bool has_eta_minute() const;
1459 private:
1460 bool _internal_has_eta_minute() const;
1461 public:
1462 void clear_eta_minute();
1463 uint32_t eta_minute() const;
1464 void set_eta_minute(uint32_t value);
1465 private:
1466 uint32_t _internal_eta_minute() const;
1467 void _internal_set_eta_minute(uint32_t value);
1468 public:
1469
1470 // optional float draught = 17 [(.dccl.field) = {
1471 bool has_draught() const;
1472 private:
1473 bool _internal_has_draught() const;
1474 public:
1475 void clear_draught();
1476 float draught() const;
1477 void set_draught(float value);
1478 private:
1479 float _internal_draught() const;
1480 void _internal_set_draught(float value);
1481 public:
1482
1483 enum DCCLParameters { DCCL_ID = 519, DCCL_MAX_BYTES = 1500 };
1484 typedef boost::units::length_dimension to_bow_dimension;
1485
1486 typedef boost::units::unit<to_bow_dimension,boost::units::si::system> to_bow_unit;
1487
1488 template<typename Quantity >
1489 void set_to_bow_with_units(Quantity value_w_units)
1490 { set_to_bow(boost::units::quantity<to_bow_unit,google::protobuf::uint32 >(value_w_units).value() ); };
1491
1492 template<typename Quantity >
1493 Quantity to_bow_with_units() const
1494 { return Quantity(to_bow() * to_bow_unit()); };
1495
1496 boost::units::quantity< to_bow_unit,google::protobuf::uint32 > to_bow_with_units() const
1497 { return to_bow_with_units<boost::units::quantity< to_bow_unit,google::protobuf::uint32 > >(); };
1498
1499 typedef boost::units::length_dimension to_stern_dimension;
1500
1501 typedef boost::units::unit<to_stern_dimension,boost::units::si::system> to_stern_unit;
1502
1503 template<typename Quantity >
1504 void set_to_stern_with_units(Quantity value_w_units)
1505 { set_to_stern(boost::units::quantity<to_stern_unit,google::protobuf::uint32 >(value_w_units).value() ); };
1506
1507 template<typename Quantity >
1508 Quantity to_stern_with_units() const
1509 { return Quantity(to_stern() * to_stern_unit()); };
1510
1511 boost::units::quantity< to_stern_unit,google::protobuf::uint32 > to_stern_with_units() const
1512 { return to_stern_with_units<boost::units::quantity< to_stern_unit,google::protobuf::uint32 > >(); };
1513
1514 typedef boost::units::length_dimension to_port_dimension;
1515
1516 typedef boost::units::unit<to_port_dimension,boost::units::si::system> to_port_unit;
1517
1518 template<typename Quantity >
1519 void set_to_port_with_units(Quantity value_w_units)
1520 { set_to_port(boost::units::quantity<to_port_unit,google::protobuf::uint32 >(value_w_units).value() ); };
1521
1522 template<typename Quantity >
1523 Quantity to_port_with_units() const
1524 { return Quantity(to_port() * to_port_unit()); };
1525
1526 boost::units::quantity< to_port_unit,google::protobuf::uint32 > to_port_with_units() const
1527 { return to_port_with_units<boost::units::quantity< to_port_unit,google::protobuf::uint32 > >(); };
1528
1529 typedef boost::units::length_dimension to_starboard_dimension;
1530
1531 typedef boost::units::unit<to_starboard_dimension,boost::units::si::system> to_starboard_unit;
1532
1533 template<typename Quantity >
1534 void set_to_starboard_with_units(Quantity value_w_units)
1535 { set_to_starboard(boost::units::quantity<to_starboard_unit,google::protobuf::uint32 >(value_w_units).value() ); };
1536
1537 template<typename Quantity >
1539 { return Quantity(to_starboard() * to_starboard_unit()); };
1540
1541 boost::units::quantity< to_starboard_unit,google::protobuf::uint32 > to_starboard_with_units() const
1542 { return to_starboard_with_units<boost::units::quantity< to_starboard_unit,google::protobuf::uint32 > >(); };
1543
1544 typedef boost::units::length_dimension draught_dimension;
1545
1546 typedef boost::units::unit<draught_dimension,boost::units::si::system> draught_unit;
1547
1548 template<typename Quantity >
1549 void set_draught_with_units(Quantity value_w_units)
1550 { set_draught(boost::units::quantity<draught_unit,float >(value_w_units).value() ); };
1551
1552 template<typename Quantity >
1553 Quantity draught_with_units() const
1554 { return Quantity(draught() * draught_unit()); };
1555
1556 boost::units::quantity< draught_unit,float > draught_with_units() const
1557 { return draught_with_units<boost::units::quantity< draught_unit,float > >(); };
1558
1559 // @@protoc_insertion_point(class_scope:goby.util.ais.protobuf.Voyage)
1560 private:
1561 class _Internal;
1562
1563 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1564 typedef void InternalArenaConstructable_;
1565 typedef void DestructorSkippable_;
1566 struct Impl_ {
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_;
1573 int32_t mmsi_;
1574 int32_t imo_;
1575 int type_;
1576 uint32_t to_bow_;
1577 uint32_t to_stern_;
1578 uint32_t to_port_;
1579 uint32_t to_starboard_;
1580 int fix_type_;
1581 uint32_t eta_month_;
1582 uint32_t eta_day_;
1583 uint32_t eta_hour_;
1584 uint32_t eta_minute_;
1585 float draught_;
1586 };
1587 union { Impl_ _impl_; };
1588 friend struct ::TableStruct_goby_2futil_2fprotobuf_2fais_2eproto;
1589};
1590// ===================================================================
1591
1592
1593// ===================================================================
1594
1595#ifdef __GNUC__
1596 #pragma GCC diagnostic push
1597 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1598#endif // __GNUC__
1599// Position
1600
1601// optional int32 message_id = 2 [default = 0, (.dccl.field) = {
1602inline bool Position::_internal_has_message_id() const {
1603 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
1604 return value;
1605}
1606inline bool Position::has_message_id() const {
1607 return _internal_has_message_id();
1608}
1609inline void Position::clear_message_id() {
1610 _impl_.message_id_ = 0;
1611 _impl_._has_bits_[0] &= ~0x00000001u;
1612}
1613inline int32_t Position::_internal_message_id() const {
1614 return _impl_.message_id_;
1615}
1616inline int32_t Position::message_id() const {
1617 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.message_id)
1618 return _internal_message_id();
1619}
1620inline void Position::_internal_set_message_id(int32_t value) {
1621 _impl_._has_bits_[0] |= 0x00000001u;
1622 _impl_.message_id_ = value;
1623}
1624inline void Position::set_message_id(int32_t value) {
1625 _internal_set_message_id(value);
1626 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.message_id)
1627}
1628
1629// optional int32 mmsi = 3 [(.dccl.field) = {
1630inline bool Position::_internal_has_mmsi() const {
1631 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
1632 return value;
1633}
1634inline bool Position::has_mmsi() const {
1635 return _internal_has_mmsi();
1636}
1637inline void Position::clear_mmsi() {
1638 _impl_.mmsi_ = 0;
1639 _impl_._has_bits_[0] &= ~0x00000002u;
1640}
1641inline int32_t Position::_internal_mmsi() const {
1642 return _impl_.mmsi_;
1643}
1644inline int32_t Position::mmsi() const {
1645 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.mmsi)
1646 return _internal_mmsi();
1647}
1648inline void Position::_internal_set_mmsi(int32_t value) {
1649 _impl_._has_bits_[0] |= 0x00000002u;
1650 _impl_.mmsi_ = value;
1651}
1652inline void Position::set_mmsi(int32_t value) {
1653 _internal_set_mmsi(value);
1654 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.mmsi)
1655}
1656
1657// optional .goby.util.ais.protobuf.Status nav_status = 4 [default = AIS_STATUS__NOT_DEFINED];
1658inline bool Position::_internal_has_nav_status() const {
1659 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
1660 return value;
1661}
1662inline bool Position::has_nav_status() const {
1663 return _internal_has_nav_status();
1664}
1665inline void Position::clear_nav_status() {
1666 _impl_.nav_status_ = 15;
1667 _impl_._has_bits_[0] &= ~0x00000800u;
1668}
1669inline ::goby::util::ais::protobuf::Status Position::_internal_nav_status() const {
1670 return static_cast< ::goby::util::ais::protobuf::Status >(_impl_.nav_status_);
1671}
1672inline ::goby::util::ais::protobuf::Status Position::nav_status() const {
1673 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.nav_status)
1674 return _internal_nav_status();
1675}
1676inline void Position::_internal_set_nav_status(::goby::util::ais::protobuf::Status value) {
1678 _impl_._has_bits_[0] |= 0x00000800u;
1679 _impl_.nav_status_ = value;
1680}
1681inline void Position::set_nav_status(::goby::util::ais::protobuf::Status value) {
1682 _internal_set_nav_status(value);
1683 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.nav_status)
1684}
1685
1686// optional .goby.util.ais.protobuf.Position.TurnInfo turn_info = 5 [default = TURN_INFO__NO_TURN_INFORMATION];
1687inline bool Position::_internal_has_turn_info() const {
1688 bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
1689 return value;
1690}
1691inline bool Position::has_turn_info() const {
1692 return _internal_has_turn_info();
1693}
1694inline void Position::clear_turn_info() {
1695 _impl_.turn_info_ = 128;
1696 _impl_._has_bits_[0] &= ~0x00001000u;
1697}
1698inline ::goby::util::ais::protobuf::Position_TurnInfo Position::_internal_turn_info() const {
1699 return static_cast< ::goby::util::ais::protobuf::Position_TurnInfo >(_impl_.turn_info_);
1700}
1701inline ::goby::util::ais::protobuf::Position_TurnInfo Position::turn_info() const {
1702 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.turn_info)
1703 return _internal_turn_info();
1704}
1705inline void Position::_internal_set_turn_info(::goby::util::ais::protobuf::Position_TurnInfo value) {
1707 _impl_._has_bits_[0] |= 0x00001000u;
1708 _impl_.turn_info_ = value;
1709}
1710inline void Position::set_turn_info(::goby::util::ais::protobuf::Position_TurnInfo value) {
1711 _internal_set_turn_info(value);
1712 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.turn_info)
1713}
1714
1715// optional float turn_rate = 6 [(.dccl.field) = {
1716inline bool Position::_internal_has_turn_rate() const {
1717 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
1718 return value;
1719}
1720inline bool Position::has_turn_rate() const {
1721 return _internal_has_turn_rate();
1722}
1723inline void Position::clear_turn_rate() {
1724 _impl_.turn_rate_ = 0;
1725 _impl_._has_bits_[0] &= ~0x00000004u;
1726}
1727inline float Position::_internal_turn_rate() const {
1728 return _impl_.turn_rate_;
1729}
1730inline float Position::turn_rate() const {
1731 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.turn_rate)
1732 return _internal_turn_rate();
1733}
1734inline void Position::_internal_set_turn_rate(float value) {
1735 _impl_._has_bits_[0] |= 0x00000004u;
1736 _impl_.turn_rate_ = value;
1737}
1738inline void Position::set_turn_rate(float value) {
1739 _internal_set_turn_rate(value);
1740 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.turn_rate)
1741}
1742
1743// optional float speed_over_ground = 7 [(.dccl.field) = {
1744inline bool Position::_internal_has_speed_over_ground() const {
1745 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
1746 return value;
1747}
1748inline bool Position::has_speed_over_ground() const {
1749 return _internal_has_speed_over_ground();
1750}
1751inline void Position::clear_speed_over_ground() {
1752 _impl_.speed_over_ground_ = 0;
1753 _impl_._has_bits_[0] &= ~0x00000008u;
1754}
1755inline float Position::_internal_speed_over_ground() const {
1756 return _impl_.speed_over_ground_;
1757}
1758inline float Position::speed_over_ground() const {
1759 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.speed_over_ground)
1760 return _internal_speed_over_ground();
1761}
1762inline void Position::_internal_set_speed_over_ground(float value) {
1763 _impl_._has_bits_[0] |= 0x00000008u;
1764 _impl_.speed_over_ground_ = value;
1765}
1766inline void Position::set_speed_over_ground(float value) {
1767 _internal_set_speed_over_ground(value);
1768 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.speed_over_ground)
1769}
1770
1771// optional .goby.util.ais.protobuf.Position.PositionAccuracy position_accuracy = 8 [default = ACCURACY__LOW__ABOVE_10_METERS];
1772inline bool Position::_internal_has_position_accuracy() const {
1773 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
1774 return value;
1775}
1776inline bool Position::has_position_accuracy() const {
1777 return _internal_has_position_accuracy();
1778}
1779inline void Position::clear_position_accuracy() {
1780 _impl_.position_accuracy_ = 0;
1781 _impl_._has_bits_[0] &= ~0x00000020u;
1782}
1783inline ::goby::util::ais::protobuf::Position_PositionAccuracy Position::_internal_position_accuracy() const {
1784 return static_cast< ::goby::util::ais::protobuf::Position_PositionAccuracy >(_impl_.position_accuracy_);
1785}
1786inline ::goby::util::ais::protobuf::Position_PositionAccuracy Position::position_accuracy() const {
1787 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.position_accuracy)
1788 return _internal_position_accuracy();
1789}
1790inline void Position::_internal_set_position_accuracy(::goby::util::ais::protobuf::Position_PositionAccuracy value) {
1792 _impl_._has_bits_[0] |= 0x00000020u;
1793 _impl_.position_accuracy_ = value;
1794}
1795inline void Position::set_position_accuracy(::goby::util::ais::protobuf::Position_PositionAccuracy value) {
1796 _internal_set_position_accuracy(value);
1797 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.position_accuracy)
1798}
1799
1800// optional double lat = 9 [(.dccl.field) = {
1801inline bool Position::_internal_has_lat() const {
1802 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
1803 return value;
1804}
1805inline bool Position::has_lat() const {
1806 return _internal_has_lat();
1807}
1808inline void Position::clear_lat() {
1809 _impl_.lat_ = 0;
1810 _impl_._has_bits_[0] &= ~0x00000010u;
1811}
1812inline double Position::_internal_lat() const {
1813 return _impl_.lat_;
1814}
1815inline double Position::lat() const {
1816 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.lat)
1817 return _internal_lat();
1818}
1819inline void Position::_internal_set_lat(double value) {
1820 _impl_._has_bits_[0] |= 0x00000010u;
1821 _impl_.lat_ = value;
1822}
1823inline void Position::set_lat(double value) {
1824 _internal_set_lat(value);
1825 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.lat)
1826}
1827
1828// optional double lon = 10 [(.dccl.field) = {
1829inline bool Position::_internal_has_lon() const {
1830 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
1831 return value;
1832}
1833inline bool Position::has_lon() const {
1834 return _internal_has_lon();
1835}
1836inline void Position::clear_lon() {
1837 _impl_.lon_ = 0;
1838 _impl_._has_bits_[0] &= ~0x00000080u;
1839}
1840inline double Position::_internal_lon() const {
1841 return _impl_.lon_;
1842}
1843inline double Position::lon() const {
1844 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.lon)
1845 return _internal_lon();
1846}
1847inline void Position::_internal_set_lon(double value) {
1848 _impl_._has_bits_[0] |= 0x00000080u;
1849 _impl_.lon_ = value;
1850}
1851inline void Position::set_lon(double value) {
1852 _internal_set_lon(value);
1853 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.lon)
1854}
1855
1856// optional float course_over_ground = 11 [(.dccl.field) = {
1857inline bool Position::_internal_has_course_over_ground() const {
1858 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
1859 return value;
1860}
1861inline bool Position::has_course_over_ground() const {
1862 return _internal_has_course_over_ground();
1863}
1864inline void Position::clear_course_over_ground() {
1865 _impl_.course_over_ground_ = 0;
1866 _impl_._has_bits_[0] &= ~0x00000040u;
1867}
1868inline float Position::_internal_course_over_ground() const {
1869 return _impl_.course_over_ground_;
1870}
1871inline float Position::course_over_ground() const {
1872 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.course_over_ground)
1873 return _internal_course_over_ground();
1874}
1875inline void Position::_internal_set_course_over_ground(float value) {
1876 _impl_._has_bits_[0] |= 0x00000040u;
1877 _impl_.course_over_ground_ = value;
1878}
1879inline void Position::set_course_over_ground(float value) {
1880 _internal_set_course_over_ground(value);
1881 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.course_over_ground)
1882}
1883
1884// optional float true_heading = 12 [(.dccl.field) = {
1885inline bool Position::_internal_has_true_heading() const {
1886 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
1887 return value;
1888}
1889inline bool Position::has_true_heading() const {
1890 return _internal_has_true_heading();
1891}
1892inline void Position::clear_true_heading() {
1893 _impl_.true_heading_ = 0;
1894 _impl_._has_bits_[0] &= ~0x00000100u;
1895}
1896inline float Position::_internal_true_heading() const {
1897 return _impl_.true_heading_;
1898}
1899inline float Position::true_heading() const {
1900 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.true_heading)
1901 return _internal_true_heading();
1902}
1903inline void Position::_internal_set_true_heading(float value) {
1904 _impl_._has_bits_[0] |= 0x00000100u;
1905 _impl_.true_heading_ = value;
1906}
1907inline void Position::set_true_heading(float value) {
1908 _internal_set_true_heading(value);
1909 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.true_heading)
1910}
1911
1912// optional int32 report_second = 13 [(.dccl.field) = {
1913inline bool Position::_internal_has_report_second() const {
1914 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
1915 return value;
1916}
1917inline bool Position::has_report_second() const {
1918 return _internal_has_report_second();
1919}
1920inline void Position::clear_report_second() {
1921 _impl_.report_second_ = 0;
1922 _impl_._has_bits_[0] &= ~0x00000200u;
1923}
1924inline int32_t Position::_internal_report_second() const {
1925 return _impl_.report_second_;
1926}
1927inline int32_t Position::report_second() const {
1928 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.report_second)
1929 return _internal_report_second();
1930}
1931inline void Position::_internal_set_report_second(int32_t value) {
1932 _impl_._has_bits_[0] |= 0x00000200u;
1933 _impl_.report_second_ = value;
1934}
1935inline void Position::set_report_second(int32_t value) {
1936 _internal_set_report_second(value);
1937 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.report_second)
1938}
1939
1940// optional bool raim = 14 [(.dccl.field) = {
1941inline bool Position::_internal_has_raim() const {
1942 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
1943 return value;
1944}
1945inline bool Position::has_raim() const {
1946 return _internal_has_raim();
1947}
1948inline void Position::clear_raim() {
1949 _impl_.raim_ = false;
1950 _impl_._has_bits_[0] &= ~0x00000400u;
1951}
1952inline bool Position::_internal_raim() const {
1953 return _impl_.raim_;
1954}
1955inline bool Position::raim() const {
1956 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Position.raim)
1957 return _internal_raim();
1958}
1959inline void Position::_internal_set_raim(bool value) {
1960 _impl_._has_bits_[0] |= 0x00000400u;
1961 _impl_.raim_ = value;
1962}
1963inline void Position::set_raim(bool value) {
1964 _internal_set_raim(value);
1965 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Position.raim)
1966}
1967
1968// -------------------------------------------------------------------
1969
1970// Voyage
1971
1972// optional int32 message_id = 2 [default = 0, (.dccl.field) = {
1973inline bool Voyage::_internal_has_message_id() const {
1974 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
1975 return value;
1976}
1977inline bool Voyage::has_message_id() const {
1978 return _internal_has_message_id();
1979}
1980inline void Voyage::clear_message_id() {
1981 _impl_.message_id_ = 0;
1982 _impl_._has_bits_[0] &= ~0x00000008u;
1983}
1984inline int32_t Voyage::_internal_message_id() const {
1985 return _impl_.message_id_;
1986}
1987inline int32_t Voyage::message_id() const {
1988 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.message_id)
1989 return _internal_message_id();
1990}
1991inline void Voyage::_internal_set_message_id(int32_t value) {
1992 _impl_._has_bits_[0] |= 0x00000008u;
1993 _impl_.message_id_ = value;
1994}
1995inline void Voyage::set_message_id(int32_t value) {
1996 _internal_set_message_id(value);
1997 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.message_id)
1998}
1999
2000// optional int32 mmsi = 3 [(.dccl.field) = {
2001inline bool Voyage::_internal_has_mmsi() const {
2002 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
2003 return value;
2004}
2005inline bool Voyage::has_mmsi() const {
2006 return _internal_has_mmsi();
2007}
2008inline void Voyage::clear_mmsi() {
2009 _impl_.mmsi_ = 0;
2010 _impl_._has_bits_[0] &= ~0x00000010u;
2011}
2012inline int32_t Voyage::_internal_mmsi() const {
2013 return _impl_.mmsi_;
2014}
2015inline int32_t Voyage::mmsi() const {
2016 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.mmsi)
2017 return _internal_mmsi();
2018}
2019inline void Voyage::_internal_set_mmsi(int32_t value) {
2020 _impl_._has_bits_[0] |= 0x00000010u;
2021 _impl_.mmsi_ = value;
2022}
2023inline void Voyage::set_mmsi(int32_t value) {
2024 _internal_set_mmsi(value);
2025 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.mmsi)
2026}
2027
2028// optional int32 imo = 4 [(.dccl.field) = {
2029inline bool Voyage::_internal_has_imo() const {
2030 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
2031 return value;
2032}
2033inline bool Voyage::has_imo() const {
2034 return _internal_has_imo();
2035}
2036inline void Voyage::clear_imo() {
2037 _impl_.imo_ = 0;
2038 _impl_._has_bits_[0] &= ~0x00000020u;
2039}
2040inline int32_t Voyage::_internal_imo() const {
2041 return _impl_.imo_;
2042}
2043inline int32_t Voyage::imo() const {
2044 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.imo)
2045 return _internal_imo();
2046}
2047inline void Voyage::_internal_set_imo(int32_t value) {
2048 _impl_._has_bits_[0] |= 0x00000020u;
2049 _impl_.imo_ = value;
2050}
2051inline void Voyage::set_imo(int32_t value) {
2052 _internal_set_imo(value);
2053 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.imo)
2054}
2055
2056// optional string callsign = 5 [(.dccl.field) = {
2057inline bool Voyage::_internal_has_callsign() const {
2058 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2059 return value;
2060}
2061inline bool Voyage::has_callsign() const {
2062 return _internal_has_callsign();
2063}
2064inline void Voyage::clear_callsign() {
2065 _impl_.callsign_.ClearToEmpty();
2066 _impl_._has_bits_[0] &= ~0x00000001u;
2067}
2068inline const std::string& Voyage::callsign() const {
2069 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.callsign)
2070 return _internal_callsign();
2071}
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());
2077 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.callsign)
2078}
2079inline std::string* Voyage::mutable_callsign() {
2080 std::string* _s = _internal_mutable_callsign();
2081 // @@protoc_insertion_point(field_mutable:goby.util.ais.protobuf.Voyage.callsign)
2082 return _s;
2083}
2084inline const std::string& Voyage::_internal_callsign() const {
2085 return _impl_.callsign_.Get();
2086}
2087inline void Voyage::_internal_set_callsign(const std::string& value) {
2088 _impl_._has_bits_[0] |= 0x00000001u;
2089 _impl_.callsign_.Set(value, GetArenaForAllocation());
2090}
2091inline std::string* Voyage::_internal_mutable_callsign() {
2092 _impl_._has_bits_[0] |= 0x00000001u;
2093 return _impl_.callsign_.Mutable(GetArenaForAllocation());
2094}
2095inline std::string* Voyage::release_callsign() {
2096 // @@protoc_insertion_point(field_release:goby.util.ais.protobuf.Voyage.callsign)
2097 if (!_internal_has_callsign()) {
2098 return nullptr;
2099 }
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());
2105 }
2106#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
2107 return p;
2108}
2109inline void Voyage::set_allocated_callsign(std::string* callsign) {
2110 if (callsign != nullptr) {
2111 _impl_._has_bits_[0] |= 0x00000001u;
2112 } else {
2113 _impl_._has_bits_[0] &= ~0x00000001u;
2114 }
2115 _impl_.callsign_.SetAllocated(callsign, GetArenaForAllocation());
2116#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
2117 if (_impl_.callsign_.IsDefault()) {
2118 _impl_.callsign_.Set("", GetArenaForAllocation());
2119 }
2120#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
2121 // @@protoc_insertion_point(field_set_allocated:goby.util.ais.protobuf.Voyage.callsign)
2122}
2123
2124// optional string name = 6 [(.dccl.field) = {
2125inline bool Voyage::_internal_has_name() const {
2126 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
2127 return value;
2128}
2129inline bool Voyage::has_name() const {
2130 return _internal_has_name();
2131}
2132inline void Voyage::clear_name() {
2133 _impl_.name_.ClearToEmpty();
2134 _impl_._has_bits_[0] &= ~0x00000002u;
2135}
2136inline const std::string& Voyage::name() const {
2137 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.name)
2138 return _internal_name();
2139}
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());
2145 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.name)
2146}
2147inline std::string* Voyage::mutable_name() {
2148 std::string* _s = _internal_mutable_name();
2149 // @@protoc_insertion_point(field_mutable:goby.util.ais.protobuf.Voyage.name)
2150 return _s;
2151}
2152inline const std::string& Voyage::_internal_name() const {
2153 return _impl_.name_.Get();
2154}
2155inline void Voyage::_internal_set_name(const std::string& value) {
2156 _impl_._has_bits_[0] |= 0x00000002u;
2157 _impl_.name_.Set(value, GetArenaForAllocation());
2158}
2159inline std::string* Voyage::_internal_mutable_name() {
2160 _impl_._has_bits_[0] |= 0x00000002u;
2161 return _impl_.name_.Mutable(GetArenaForAllocation());
2162}
2163inline std::string* Voyage::release_name() {
2164 // @@protoc_insertion_point(field_release:goby.util.ais.protobuf.Voyage.name)
2165 if (!_internal_has_name()) {
2166 return nullptr;
2167 }
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());
2173 }
2174#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
2175 return p;
2176}
2177inline void Voyage::set_allocated_name(std::string* name) {
2178 if (name != nullptr) {
2179 _impl_._has_bits_[0] |= 0x00000002u;
2180 } else {
2181 _impl_._has_bits_[0] &= ~0x00000002u;
2182 }
2183 _impl_.name_.SetAllocated(name, GetArenaForAllocation());
2184#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
2185 if (_impl_.name_.IsDefault()) {
2186 _impl_.name_.Set("", GetArenaForAllocation());
2187 }
2188#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
2189 // @@protoc_insertion_point(field_set_allocated:goby.util.ais.protobuf.Voyage.name)
2190}
2191
2192// optional .goby.util.ais.protobuf.Voyage.ShipType type = 7 [default = TYPE__NOT_AVAILABLE];
2193inline bool Voyage::_internal_has_type() const {
2194 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
2195 return value;
2196}
2197inline bool Voyage::has_type() const {
2198 return _internal_has_type();
2199}
2200inline void Voyage::clear_type() {
2201 _impl_.type_ = 0;
2202 _impl_._has_bits_[0] &= ~0x00000040u;
2203}
2204inline ::goby::util::ais::protobuf::Voyage_ShipType Voyage::_internal_type() const {
2205 return static_cast< ::goby::util::ais::protobuf::Voyage_ShipType >(_impl_.type_);
2206}
2207inline ::goby::util::ais::protobuf::Voyage_ShipType Voyage::type() const {
2208 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.type)
2209 return _internal_type();
2210}
2211inline void Voyage::_internal_set_type(::goby::util::ais::protobuf::Voyage_ShipType value) {
2213 _impl_._has_bits_[0] |= 0x00000040u;
2214 _impl_.type_ = value;
2215}
2216inline void Voyage::set_type(::goby::util::ais::protobuf::Voyage_ShipType value) {
2217 _internal_set_type(value);
2218 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.type)
2219}
2220
2221// optional uint32 to_bow = 8 [(.dccl.field) = {
2222inline bool Voyage::_internal_has_to_bow() const {
2223 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
2224 return value;
2225}
2226inline bool Voyage::has_to_bow() const {
2227 return _internal_has_to_bow();
2228}
2229inline void Voyage::clear_to_bow() {
2230 _impl_.to_bow_ = 0u;
2231 _impl_._has_bits_[0] &= ~0x00000080u;
2232}
2233inline uint32_t Voyage::_internal_to_bow() const {
2234 return _impl_.to_bow_;
2235}
2236inline uint32_t Voyage::to_bow() const {
2237 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.to_bow)
2238 return _internal_to_bow();
2239}
2240inline void Voyage::_internal_set_to_bow(uint32_t value) {
2241 _impl_._has_bits_[0] |= 0x00000080u;
2242 _impl_.to_bow_ = value;
2243}
2244inline void Voyage::set_to_bow(uint32_t value) {
2245 _internal_set_to_bow(value);
2246 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.to_bow)
2247}
2248
2249// optional uint32 to_stern = 9 [(.dccl.field) = {
2250inline bool Voyage::_internal_has_to_stern() const {
2251 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
2252 return value;
2253}
2254inline bool Voyage::has_to_stern() const {
2255 return _internal_has_to_stern();
2256}
2257inline void Voyage::clear_to_stern() {
2258 _impl_.to_stern_ = 0u;
2259 _impl_._has_bits_[0] &= ~0x00000100u;
2260}
2261inline uint32_t Voyage::_internal_to_stern() const {
2262 return _impl_.to_stern_;
2263}
2264inline uint32_t Voyage::to_stern() const {
2265 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.to_stern)
2266 return _internal_to_stern();
2267}
2268inline void Voyage::_internal_set_to_stern(uint32_t value) {
2269 _impl_._has_bits_[0] |= 0x00000100u;
2270 _impl_.to_stern_ = value;
2271}
2272inline void Voyage::set_to_stern(uint32_t value) {
2273 _internal_set_to_stern(value);
2274 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.to_stern)
2275}
2276
2277// optional uint32 to_port = 10 [(.dccl.field) = {
2278inline bool Voyage::_internal_has_to_port() const {
2279 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
2280 return value;
2281}
2282inline bool Voyage::has_to_port() const {
2283 return _internal_has_to_port();
2284}
2285inline void Voyage::clear_to_port() {
2286 _impl_.to_port_ = 0u;
2287 _impl_._has_bits_[0] &= ~0x00000200u;
2288}
2289inline uint32_t Voyage::_internal_to_port() const {
2290 return _impl_.to_port_;
2291}
2292inline uint32_t Voyage::to_port() const {
2293 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.to_port)
2294 return _internal_to_port();
2295}
2296inline void Voyage::_internal_set_to_port(uint32_t value) {
2297 _impl_._has_bits_[0] |= 0x00000200u;
2298 _impl_.to_port_ = value;
2299}
2300inline void Voyage::set_to_port(uint32_t value) {
2301 _internal_set_to_port(value);
2302 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.to_port)
2303}
2304
2305// optional uint32 to_starboard = 11 [(.dccl.field) = {
2306inline bool Voyage::_internal_has_to_starboard() const {
2307 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
2308 return value;
2309}
2310inline bool Voyage::has_to_starboard() const {
2311 return _internal_has_to_starboard();
2312}
2313inline void Voyage::clear_to_starboard() {
2314 _impl_.to_starboard_ = 0u;
2315 _impl_._has_bits_[0] &= ~0x00000400u;
2316}
2317inline uint32_t Voyage::_internal_to_starboard() const {
2318 return _impl_.to_starboard_;
2319}
2320inline uint32_t Voyage::to_starboard() const {
2321 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.to_starboard)
2322 return _internal_to_starboard();
2323}
2324inline void Voyage::_internal_set_to_starboard(uint32_t value) {
2325 _impl_._has_bits_[0] |= 0x00000400u;
2326 _impl_.to_starboard_ = value;
2327}
2328inline void Voyage::set_to_starboard(uint32_t value) {
2329 _internal_set_to_starboard(value);
2330 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.to_starboard)
2331}
2332
2333// optional .goby.util.ais.protobuf.Voyage.FixType fix_type = 12 [default = FIX__UNDEFINED];
2334inline bool Voyage::_internal_has_fix_type() const {
2335 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
2336 return value;
2337}
2338inline bool Voyage::has_fix_type() const {
2339 return _internal_has_fix_type();
2340}
2341inline void Voyage::clear_fix_type() {
2342 _impl_.fix_type_ = 0;
2343 _impl_._has_bits_[0] &= ~0x00000800u;
2344}
2345inline ::goby::util::ais::protobuf::Voyage_FixType Voyage::_internal_fix_type() const {
2346 return static_cast< ::goby::util::ais::protobuf::Voyage_FixType >(_impl_.fix_type_);
2347}
2348inline ::goby::util::ais::protobuf::Voyage_FixType Voyage::fix_type() const {
2349 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.fix_type)
2350 return _internal_fix_type();
2351}
2352inline void Voyage::_internal_set_fix_type(::goby::util::ais::protobuf::Voyage_FixType value) {
2354 _impl_._has_bits_[0] |= 0x00000800u;
2355 _impl_.fix_type_ = value;
2356}
2357inline void Voyage::set_fix_type(::goby::util::ais::protobuf::Voyage_FixType value) {
2358 _internal_set_fix_type(value);
2359 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.fix_type)
2360}
2361
2362// optional uint32 eta_month = 13 [(.dccl.field) = {
2363inline bool Voyage::_internal_has_eta_month() const {
2364 bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
2365 return value;
2366}
2367inline bool Voyage::has_eta_month() const {
2368 return _internal_has_eta_month();
2369}
2370inline void Voyage::clear_eta_month() {
2371 _impl_.eta_month_ = 0u;
2372 _impl_._has_bits_[0] &= ~0x00001000u;
2373}
2374inline uint32_t Voyage::_internal_eta_month() const {
2375 return _impl_.eta_month_;
2376}
2377inline uint32_t Voyage::eta_month() const {
2378 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.eta_month)
2379 return _internal_eta_month();
2380}
2381inline void Voyage::_internal_set_eta_month(uint32_t value) {
2382 _impl_._has_bits_[0] |= 0x00001000u;
2383 _impl_.eta_month_ = value;
2384}
2385inline void Voyage::set_eta_month(uint32_t value) {
2386 _internal_set_eta_month(value);
2387 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.eta_month)
2388}
2389
2390// optional uint32 eta_day = 14 [(.dccl.field) = {
2391inline bool Voyage::_internal_has_eta_day() const {
2392 bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
2393 return value;
2394}
2395inline bool Voyage::has_eta_day() const {
2396 return _internal_has_eta_day();
2397}
2398inline void Voyage::clear_eta_day() {
2399 _impl_.eta_day_ = 0u;
2400 _impl_._has_bits_[0] &= ~0x00002000u;
2401}
2402inline uint32_t Voyage::_internal_eta_day() const {
2403 return _impl_.eta_day_;
2404}
2405inline uint32_t Voyage::eta_day() const {
2406 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.eta_day)
2407 return _internal_eta_day();
2408}
2409inline void Voyage::_internal_set_eta_day(uint32_t value) {
2410 _impl_._has_bits_[0] |= 0x00002000u;
2411 _impl_.eta_day_ = value;
2412}
2413inline void Voyage::set_eta_day(uint32_t value) {
2414 _internal_set_eta_day(value);
2415 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.eta_day)
2416}
2417
2418// optional uint32 eta_hour = 15 [(.dccl.field) = {
2419inline bool Voyage::_internal_has_eta_hour() const {
2420 bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
2421 return value;
2422}
2423inline bool Voyage::has_eta_hour() const {
2424 return _internal_has_eta_hour();
2425}
2426inline void Voyage::clear_eta_hour() {
2427 _impl_.eta_hour_ = 0u;
2428 _impl_._has_bits_[0] &= ~0x00004000u;
2429}
2430inline uint32_t Voyage::_internal_eta_hour() const {
2431 return _impl_.eta_hour_;
2432}
2433inline uint32_t Voyage::eta_hour() const {
2434 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.eta_hour)
2435 return _internal_eta_hour();
2436}
2437inline void Voyage::_internal_set_eta_hour(uint32_t value) {
2438 _impl_._has_bits_[0] |= 0x00004000u;
2439 _impl_.eta_hour_ = value;
2440}
2441inline void Voyage::set_eta_hour(uint32_t value) {
2442 _internal_set_eta_hour(value);
2443 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.eta_hour)
2444}
2445
2446// optional uint32 eta_minute = 16 [(.dccl.field) = {
2447inline bool Voyage::_internal_has_eta_minute() const {
2448 bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
2449 return value;
2450}
2451inline bool Voyage::has_eta_minute() const {
2452 return _internal_has_eta_minute();
2453}
2454inline void Voyage::clear_eta_minute() {
2455 _impl_.eta_minute_ = 0u;
2456 _impl_._has_bits_[0] &= ~0x00008000u;
2457}
2458inline uint32_t Voyage::_internal_eta_minute() const {
2459 return _impl_.eta_minute_;
2460}
2461inline uint32_t Voyage::eta_minute() const {
2462 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.eta_minute)
2463 return _internal_eta_minute();
2464}
2465inline void Voyage::_internal_set_eta_minute(uint32_t value) {
2466 _impl_._has_bits_[0] |= 0x00008000u;
2467 _impl_.eta_minute_ = value;
2468}
2469inline void Voyage::set_eta_minute(uint32_t value) {
2470 _internal_set_eta_minute(value);
2471 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.eta_minute)
2472}
2473
2474// optional float draught = 17 [(.dccl.field) = {
2475inline bool Voyage::_internal_has_draught() const {
2476 bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
2477 return value;
2478}
2479inline bool Voyage::has_draught() const {
2480 return _internal_has_draught();
2481}
2482inline void Voyage::clear_draught() {
2483 _impl_.draught_ = 0;
2484 _impl_._has_bits_[0] &= ~0x00010000u;
2485}
2486inline float Voyage::_internal_draught() const {
2487 return _impl_.draught_;
2488}
2489inline float Voyage::draught() const {
2490 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.draught)
2491 return _internal_draught();
2492}
2493inline void Voyage::_internal_set_draught(float value) {
2494 _impl_._has_bits_[0] |= 0x00010000u;
2495 _impl_.draught_ = value;
2496}
2497inline void Voyage::set_draught(float value) {
2498 _internal_set_draught(value);
2499 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.draught)
2500}
2501
2502// optional string destination = 18 [(.dccl.field) = {
2503inline bool Voyage::_internal_has_destination() const {
2504 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
2505 return value;
2506}
2507inline bool Voyage::has_destination() const {
2508 return _internal_has_destination();
2509}
2510inline void Voyage::clear_destination() {
2511 _impl_.destination_.ClearToEmpty();
2512 _impl_._has_bits_[0] &= ~0x00000004u;
2513}
2514inline const std::string& Voyage::destination() const {
2515 // @@protoc_insertion_point(field_get:goby.util.ais.protobuf.Voyage.destination)
2516 return _internal_destination();
2517}
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());
2523 // @@protoc_insertion_point(field_set:goby.util.ais.protobuf.Voyage.destination)
2524}
2525inline std::string* Voyage::mutable_destination() {
2526 std::string* _s = _internal_mutable_destination();
2527 // @@protoc_insertion_point(field_mutable:goby.util.ais.protobuf.Voyage.destination)
2528 return _s;
2529}
2530inline const std::string& Voyage::_internal_destination() const {
2531 return _impl_.destination_.Get();
2532}
2533inline void Voyage::_internal_set_destination(const std::string& value) {
2534 _impl_._has_bits_[0] |= 0x00000004u;
2535 _impl_.destination_.Set(value, GetArenaForAllocation());
2536}
2537inline std::string* Voyage::_internal_mutable_destination() {
2538 _impl_._has_bits_[0] |= 0x00000004u;
2539 return _impl_.destination_.Mutable(GetArenaForAllocation());
2540}
2541inline std::string* Voyage::release_destination() {
2542 // @@protoc_insertion_point(field_release:goby.util.ais.protobuf.Voyage.destination)
2543 if (!_internal_has_destination()) {
2544 return nullptr;
2545 }
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());
2551 }
2552#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
2553 return p;
2554}
2555inline void Voyage::set_allocated_destination(std::string* destination) {
2556 if (destination != nullptr) {
2557 _impl_._has_bits_[0] |= 0x00000004u;
2558 } else {
2559 _impl_._has_bits_[0] &= ~0x00000004u;
2560 }
2561 _impl_.destination_.SetAllocated(destination, GetArenaForAllocation());
2562#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
2563 if (_impl_.destination_.IsDefault()) {
2564 _impl_.destination_.Set("", GetArenaForAllocation());
2565 }
2566#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
2567 // @@protoc_insertion_point(field_set_allocated:goby.util.ais.protobuf.Voyage.destination)
2568}
2569
2570#ifdef __GNUC__
2571 #pragma GCC diagnostic pop
2572#endif // __GNUC__
2573// -------------------------------------------------------------------
2574
2575
2576// @@protoc_insertion_point(namespace_scope)
2577
2578} // namespace protobuf
2579} // namespace ais
2580} // namespace util
2581} // namespace goby
2582
2583PROTOBUF_NAMESPACE_OPEN
2584
2585template <> struct is_proto_enum< ::goby::util::ais::protobuf::Position_TurnInfo> : ::std::true_type {};
2586template <>
2588 return ::goby::util::ais::protobuf::Position_TurnInfo_descriptor();
2589}
2590template <> struct is_proto_enum< ::goby::util::ais::protobuf::Position_PositionAccuracy> : ::std::true_type {};
2591template <>
2593 return ::goby::util::ais::protobuf::Position_PositionAccuracy_descriptor();
2594}
2595template <> struct is_proto_enum< ::goby::util::ais::protobuf::Voyage_ShipType> : ::std::true_type {};
2596template <>
2598 return ::goby::util::ais::protobuf::Voyage_ShipType_descriptor();
2599}
2600template <> struct is_proto_enum< ::goby::util::ais::protobuf::Voyage_FixType> : ::std::true_type {};
2601template <>
2603 return ::goby::util::ais::protobuf::Voyage_FixType_descriptor();
2604}
2605template <> struct is_proto_enum< ::goby::util::ais::protobuf::Status> : ::std::true_type {};
2606template <>
2608 return ::goby::util::ais::protobuf::Status_descriptor();
2609}
2610
2611PROTOBUF_NAMESPACE_CLOSE
2612
2613// @@protoc_insertion_point(global_scope)
2614
2615#include <google/protobuf/port_undef.inc>
2616#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_goby_2futil_2fprotobuf_2fais_2eproto
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Position_TurnInfo >()
Definition ais.pb.h:2587
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_goby_2futil_2fprotobuf_2fais_2eproto
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Voyage_FixType >()
Definition ais.pb.h:2602
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Position_PositionAccuracy >()
Definition ais.pb.h:2592
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Status >()
Definition ais.pb.h:2607
const EnumDescriptor * GetEnumDescriptor< ::goby::util::ais::protobuf::Voyage_ShipType >()
Definition ais.pb.h:2597
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)
Definition ais.pb.h:747
Quantity turn_rate_with_units() const
Definition ais.pb.h:706
::goby::util::ais::protobuf::Status nav_status() const
Definition ais.pb.h:1672
boost::units::quantity< lat_unit, double > lat_with_units() const
Definition ais.pb.h:739
static bool TurnInfo_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TurnInfo *value)
Definition ais.pb.h:475
Quantity speed_over_ground_with_units() const
Definition ais.pb.h:721
Position_PositionAccuracy PositionAccuracy
Definition ais.pb.h:480
boost::units::time_dimension report_second_dimension
Definition ais.pb.h:787
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static bool TurnInfo_IsValid(int value)
Definition ais.pb.h:455
boost::units::plane_angle_dimension lon_dimension
Definition ais.pb.h:742
void set_lat_with_units(Quantity value_w_units)
Definition ais.pb.h:732
static constexpr TurnInfo TurnInfo_MIN
Definition ais.pb.h:458
Quantity lon_with_units() const
Definition ais.pb.h:751
Position & operator=(const Position &from)
Definition ais.pb.h:332
static constexpr PositionAccuracy PositionAccuracy_MIN
Definition ais.pb.h:488
boost::units::quantity< true_heading_unit, float > true_heading_with_units() const
Definition ais.pb.h:784
friend void swap(Position &a, Position &b)
Definition ais.pb.h:376
static constexpr TurnInfo TURN_INFO__TURNING_LEFT_AT_MORE_THAN_5_DEG_PER_30_SEC
Definition ais.pb.h:451
static const ClassData _class_data_
Definition ais.pb.h:437
void set_position_accuracy(::goby::util::ais::protobuf::Position_PositionAccuracy value)
Definition ais.pb.h:1795
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
boost::units::unit< lat_dimension, boost::units::degree::system > lat_unit
Definition ais.pb.h:729
static bool PositionAccuracy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PositionAccuracy *value)
Definition ais.pb.h:505
size_t ByteSizeLong() const final
static constexpr TurnInfo TURN_INFO__NO_TURN_INFORMATION
Definition ais.pb.h:453
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition ais.pb.h:353
Quantity true_heading_with_units() const
Definition ais.pb.h:781
void MergeFrom(const Position &from)
Definition ais.pb.h:406
boost::units::angular_velocity_dimension turn_rate_dimension
Definition ais.pb.h:697
Position(Position &&from) noexcept
Definition ais.pb.h:327
static constexpr PositionAccuracy ACCURACY__HIGH__BELOW_10_METERS
Definition ais.pb.h:483
boost::units::quantity< course_over_ground_unit, float > course_over_ground_with_units() const
Definition ais.pb.h:769
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition ais.pb.h:350
void set_true_heading_with_units(Quantity value_w_units)
Definition ais.pb.h:777
::goby::util::ais::protobuf::Position_PositionAccuracy position_accuracy() const
Definition ais.pb.h:1786
static const std::string & PositionAccuracy_Name(T enum_t_value)
Definition ais.pb.h:499
Quantity report_second_with_units() const
Definition ais.pb.h:796
void set_turn_rate(float value)
Definition ais.pb.h:1738
Position & operator=(Position &&from) noexcept
Definition ais.pb.h:336
Position * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition ais.pb.h:400
void set_true_heading(float value)
Definition ais.pb.h:1907
boost::units::plane_angle_dimension true_heading_dimension
Definition ais.pb.h:772
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_nav_status(::goby::util::ais::protobuf::Status value)
Definition ais.pb.h:1681
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition ais.pb.h:360
static constexpr PositionAccuracy PositionAccuracy_MAX
Definition ais.pb.h:490
static constexpr int TurnInfo_ARRAYSIZE
Definition ais.pb.h:462
void set_course_over_ground_with_units(Quantity value_w_units)
Definition ais.pb.h:762
void UnsafeArenaSwap(Position *other)
Definition ais.pb.h:392
boost::units::plane_angle_dimension course_over_ground_dimension
Definition ais.pb.h:757
Position(const Position &from)
static constexpr TurnInfo TURN_INFO__TURNING_AT_GIVEN_RATE
Definition ais.pb.h:447
static const std::string & TurnInfo_Name(T enum_t_value)
Definition ais.pb.h:469
boost::units::unit< turn_rate_dimension, boost::units::si::system > turn_rate_unit
Definition ais.pb.h:699
static const Position & default_instance()
Definition ais.pb.h:366
static constexpr TurnInfo TURN_INFO__NOT_TURNING
Definition ais.pb.h:445
void set_course_over_ground(float value)
Definition ais.pb.h:1879
Position(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
void Swap(Position *other)
Definition ais.pb.h:379
Quantity course_over_ground_with_units() const
Definition ais.pb.h:766
PROTOBUF_CONSTEXPR Position(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void set_turn_rate_with_units(Quantity value_w_units)
Definition ais.pb.h:702
::goby::util::ais::protobuf::Position_TurnInfo turn_info() const
Definition ais.pb.h:1701
void set_report_second(int32_t value)
Definition ais.pb.h:1935
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition ais.pb.h:363
void set_message_id(int32_t value)
Definition ais.pb.h:1624
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * TurnInfo_descriptor()
Definition ais.pb.h:465
void set_speed_over_ground_with_units(Quantity value_w_units)
Definition ais.pb.h:717
void set_turn_info(::goby::util::ais::protobuf::Position_TurnInfo value)
Definition ais.pb.h:1710
int GetCachedSize() const final
Definition ais.pb.h:419
boost::units::plane_angle_dimension lat_dimension
Definition ais.pb.h:727
static constexpr PositionAccuracy ACCURACY__LOW__ABOVE_10_METERS
Definition ais.pb.h:481
static constexpr TurnInfo TurnInfo_MAX
Definition ais.pb.h:460
boost::units::unit< report_second_dimension, boost::units::si::system > report_second_unit
Definition ais.pb.h:789
static bool PositionAccuracy_IsValid(int value)
Definition ais.pb.h:485
boost::units::unit< lon_dimension, boost::units::degree::system > lon_unit
Definition ais.pb.h:744
static constexpr int kIndexInFileMessages
Definition ais.pb.h:373
void set_speed_over_ground(float value)
Definition ais.pb.h:1766
boost::units::unit< true_heading_dimension, boost::units::degree::system > true_heading_unit
Definition ais.pb.h:774
void set_mmsi(int32_t value)
Definition ais.pb.h:1652
boost::units::quantity< turn_rate_unit, float > turn_rate_with_units() const
Definition ais.pb.h:709
void set_report_second_with_units(Quantity value_w_units)
Definition ais.pb.h:792
static constexpr int PositionAccuracy_ARRAYSIZE
Definition ais.pb.h:492
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * PositionAccuracy_descriptor()
Definition ais.pb.h:495
boost::units::quantity< speed_over_ground_unit, float > speed_over_ground_with_units() const
Definition ais.pb.h:724
boost::units::quantity< report_second_unit, google::protobuf::int32 > report_second_with_units() const
Definition ais.pb.h:799
static constexpr TurnInfo TURN_INFO__TURNING_RIGHT_AT_MORE_THAN_5_DEG_PER_30_SEC
Definition ais.pb.h:449
boost::units::unit< speed_over_ground_dimension, boost::units::si::system > speed_over_ground_unit
Definition ais.pb.h:714
boost::units::unit< course_over_ground_dimension, boost::units::degree::system > course_over_ground_unit
Definition ais.pb.h:759
boost::units::quantity< lon_unit, double > lon_with_units() const
Definition ais.pb.h:754
static const Position * internal_default_instance()
Definition ais.pb.h:369
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition ais.pb.h:357
Quantity lat_with_units() const
Definition ais.pb.h:736
boost::units::velocity_dimension speed_over_ground_dimension
Definition ais.pb.h:712
boost::units::length_dimension to_starboard_dimension
Definition ais.pb.h:1529
boost::units::unit< to_port_dimension, boost::units::si::system > to_port_unit
Definition ais.pb.h:1516
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition ais.pb.h:872
Quantity to_port_with_units() const
Definition ais.pb.h:1523
static const std::string & FixType_Name(T enum_t_value)
Definition ais.pb.h:1215
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ShipType_descriptor()
Definition ais.pb.h:1167
boost::units::unit< draught_dimension, boost::units::si::system > draught_unit
Definition ais.pb.h:1546
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition ais.pb.h:862
void set_to_port_with_units(Quantity value_w_units)
Definition ais.pb.h:1519
static const Voyage * internal_default_instance()
Definition ais.pb.h:881
boost::units::quantity< draught_unit, float > draught_with_units() const
Definition ais.pb.h:1556
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
Quantity to_stern_with_units() const
Definition ais.pb.h:1508
void UnsafeArenaSwap(Voyage *other)
Definition ais.pb.h:904
void set_to_stern_with_units(Quantity value_w_units)
Definition ais.pb.h:1504
void set_callsign(ArgT0 &&arg0, ArgT... args)
boost::units::length_dimension to_stern_dimension
Definition ais.pb.h:1499
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * FixType_descriptor()
Definition ais.pb.h:1211
void Swap(Voyage *other)
Definition ais.pb.h:891
Voyage(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition ais.pb.h:869
Voyage & operator=(Voyage &&from) noexcept
Definition ais.pb.h:848
void CopyFrom(const Voyage &from)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition ais.pb.h:865
PROTOBUF_CONSTEXPR Voyage(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
boost::units::unit< to_starboard_dimension, boost::units::si::system > to_starboard_unit
Definition ais.pb.h:1531
static const ClassData _class_data_
Definition ais.pb.h:949
void set_to_bow_with_units(Quantity value_w_units)
Definition ais.pb.h:1489
static bool FixType_IsValid(int value)
Definition ais.pb.h:1201
friend void swap(Voyage &a, Voyage &b)
Definition ais.pb.h:888
static const Voyage & default_instance()
Definition ais.pb.h:878
Voyage(Voyage &&from) noexcept
Definition ais.pb.h:839
void set_draught_with_units(Quantity value_w_units)
Definition ais.pb.h:1549
boost::units::unit< to_stern_dimension, boost::units::si::system > to_stern_unit
Definition ais.pb.h:1501
Voyage & operator=(const Voyage &from)
Definition ais.pb.h:844
static bool FixType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, FixType *value)
Definition ais.pb.h:1221
void MergeFrom(const Voyage &from)
Definition ais.pb.h:918
boost::units::quantity< to_bow_unit, google::protobuf::uint32 > to_bow_with_units() const
Definition ais.pb.h:1496
static bool ShipType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ShipType *value)
Definition ais.pb.h:1177
boost::units::unit< to_bow_dimension, boost::units::si::system > to_bow_unit
Definition ais.pb.h:1486
void set_name(ArgT0 &&arg0, ArgT... args)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition ais.pb.h:875
static const std::string & ShipType_Name(T enum_t_value)
Definition ais.pb.h:1171
Quantity to_bow_with_units() const
Definition ais.pb.h:1493
boost::units::length_dimension to_port_dimension
Definition ais.pb.h:1514
boost::units::quantity< to_starboard_unit, google::protobuf::uint32 > to_starboard_with_units() const
Definition ais.pb.h:1541
boost::units::quantity< to_port_unit, google::protobuf::uint32 > to_port_with_units() const
Definition ais.pb.h:1526
boost::units::length_dimension draught_dimension
Definition ais.pb.h:1544
boost::units::quantity< to_stern_unit, google::protobuf::uint32 > to_stern_with_units() const
Definition ais.pb.h:1511
Quantity to_starboard_with_units() const
Definition ais.pb.h:1538
Quantity draught_with_units() const
Definition ais.pb.h:1553
Voyage * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition ais.pb.h:912
void set_to_starboard_with_units(Quantity value_w_units)
Definition ais.pb.h:1534
boost::units::length_dimension to_bow_dimension
Definition ais.pb.h:1484
void set_destination(ArgT0 &&arg0, ArgT... args)
constexpr Position_TurnInfo Position_TurnInfo_TurnInfo_MIN
Definition ais.pb.h:88
bool Voyage_FixType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Voyage_FixType *value)
Definition ais.pb.h:275
constexpr Status Status_MAX
Definition ais.pb.h:300
constexpr int Voyage_ShipType_ShipType_ARRAYSIZE
Definition ais.pb.h:234
constexpr int Status_ARRAYSIZE
Definition ais.pb.h:301
bool Voyage_FixType_IsValid(int value)
@ Position_PositionAccuracy_ACCURACY__HIGH__BELOW_10_METERS
Definition ais.pb.h:108
@ Position_PositionAccuracy_ACCURACY__LOW__ABOVE_10_METERS
Definition ais.pb.h:107
const std::string & Voyage_ShipType_Name(T enum_t_value)
Definition ais.pb.h:238
bool Status_IsValid(int value)
bool Voyage_ShipType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Voyage_ShipType *value)
Definition ais.pb.h:245
@ Position_TurnInfo_TURN_INFO__NOT_TURNING
Definition ais.pb.h:81
@ Position_TurnInfo_TURN_INFO__NO_TURN_INFORMATION
Definition ais.pb.h:85
@ Position_TurnInfo_TURN_INFO__TURNING_RIGHT_AT_MORE_THAN_5_DEG_PER_30_SEC
Definition ais.pb.h:83
@ Position_TurnInfo_TURN_INFO__TURNING_AT_GIVEN_RATE
Definition ais.pb.h:82
@ Position_TurnInfo_TURN_INFO__TURNING_LEFT_AT_MORE_THAN_5_DEG_PER_30_SEC
Definition ais.pb.h:84
const std::string & Status_Name(T enum_t_value)
Definition ais.pb.h:305
constexpr Voyage_FixType Voyage_FixType_FixType_MAX
Definition ais.pb.h:263
@ Voyage_FixType_FIX__COMBINED_GPS_AND_GLONASS
Definition ais.pb.h:254
@ Voyage_FixType_FIX__INTEGRATED_NAVIGATION_SYSTEM
Definition ais.pb.h:257
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Position_TurnInfo_descriptor()
constexpr int Position_PositionAccuracy_PositionAccuracy_ARRAYSIZE
Definition ais.pb.h:113
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Voyage_FixType_descriptor()
constexpr int Position_TurnInfo_TurnInfo_ARRAYSIZE
Definition ais.pb.h:90
bool Status_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Status *value)
Definition ais.pb.h:312
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)
Definition ais.pb.h:124
bool Position_TurnInfo_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Position_TurnInfo *value)
Definition ais.pb.h:101
bool Position_TurnInfo_IsValid(int value)
@ AIS_STATUS__RESERVED_FOR_WING_IN_GROUND
Definition ais.pb.h:291
@ AIS_STATUS__RESERVED_FOR_HIGH_SPEED_CRAFT
Definition ais.pb.h:290
@ AIS_STATUS__RESTRICTED_MANOEUVERABILITY
Definition ais.pb.h:284
constexpr Voyage_FixType Voyage_FixType_FixType_MIN
Definition ais.pb.h:262
constexpr Voyage_ShipType Voyage_ShipType_ShipType_MIN
Definition ais.pb.h:232
const std::string & Position_PositionAccuracy_Name(T enum_t_value)
Definition ais.pb.h:117
PositionDefaultTypeInternal _Position_default_instance_
constexpr Position_TurnInfo Position_TurnInfo_TurnInfo_MAX
Definition ais.pb.h:89
const std::string & Voyage_FixType_Name(T enum_t_value)
Definition ais.pb.h:268
@ Voyage_ShipType_TYPE__TOWING_LENGTH_EXCEEDS_200M_OR_BREADTH_EXCEEDS_25M
Definition ais.pb.h:162
@ Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_B
Definition ais.pb.h:202
@ Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_A
Definition ais.pb.h:211
@ Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_A
Definition ais.pb.h:221
@ Voyage_ShipType_TYPE__OTHER_RESERVED_67
Definition ais.pb.h:227
@ Voyage_ShipType_TYPE__TANKER_RESERVED_68
Definition ais.pb.h:218
@ Voyage_ShipType_TYPE__CARGO_NO_ADDITIONAL_INFORMATION
Definition ais.pb.h:209
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_B
Definition ais.pb.h:172
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_26
Definition ais.pb.h:156
@ Voyage_ShipType_TYPE__PASSENGER_RESERVED_65
Definition ais.pb.h:195
@ Voyage_ShipType_TYPE__PASSENGER_RESERVED_67
Definition ais.pb.h:197
@ Voyage_ShipType_TYPE__TANKER_RESERVED_67
Definition ais.pb.h:217
@ Voyage_ShipType_TYPE__OTHER_RESERVED_65
Definition ais.pb.h:225
@ Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_D
Definition ais.pb.h:194
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_47
Definition ais.pb.h:177
@ Voyage_ShipType_TYPE__CARGO_RESERVED_65
Definition ais.pb.h:205
@ Voyage_ShipType_TYPE__TANKER_RESERVED_66
Definition ais.pb.h:216
@ Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_D
Definition ais.pb.h:204
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_A
Definition ais.pb.h:171
@ Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_C
Definition ais.pb.h:193
@ Voyage_ShipType_TYPE__PASSENGER_NO_ADDITIONAL_INFORMATION
Definition ais.pb.h:199
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_27
Definition ais.pb.h:157
@ Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_A
Definition ais.pb.h:151
@ Voyage_ShipType_TYPE__OTHER_NO_ADDITIONAL_INFORMATION
Definition ais.pb.h:229
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_28
Definition ais.pb.h:158
@ Voyage_ShipType_TYPE__TANKER_NO_ADDITIONAL_INFORMATION
Definition ais.pb.h:219
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_C
Definition ais.pb.h:173
@ Voyage_ShipType_TYPE__CARGO_RESERVED_68
Definition ais.pb.h:208
@ Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_D
Definition ais.pb.h:154
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_NO_ADDITIONAL_INFORMATION
Definition ais.pb.h:179
@ Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_C
Definition ais.pb.h:153
@ Voyage_ShipType_TYPE__DREDGING_OR_UNDERWATER_OPS
Definition ais.pb.h:163
@ Voyage_ShipType_TYPE__TANKER_RESERVED_65
Definition ais.pb.h:215
@ Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_B
Definition ais.pb.h:212
@ Voyage_ShipType_TYPE__WING_IN_GROUND_HAZARDOUS_CATEGORY_B
Definition ais.pb.h:152
@ Voyage_ShipType_TYPE__OTHER_RESERVED_68
Definition ais.pb.h:228
@ Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_B
Definition ais.pb.h:192
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_29
Definition ais.pb.h:159
@ Voyage_ShipType_TYPE__NONCOMBATANT_SHIP_ACCORDING_TO_RR_RESOLUTION_NO_18
Definition ais.pb.h:189
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_HAZARDOUS_CATEGORY_D
Definition ais.pb.h:174
@ Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_D
Definition ais.pb.h:224
@ Voyage_ShipType_TYPE__PASSENGER_RESERVED_68
Definition ais.pb.h:198
@ Voyage_ShipType_TYPE__SPARE57_LOCAL_VESSEL
Definition ais.pb.h:187
@ Voyage_ShipType_TYPE__PASSENGER_RESERVED_66
Definition ais.pb.h:196
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_48
Definition ais.pb.h:178
@ Voyage_ShipType_TYPE__CARGO_RESERVED_66
Definition ais.pb.h:206
@ Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_C
Definition ais.pb.h:223
@ Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_C
Definition ais.pb.h:203
@ Voyage_ShipType_TYPE__OTHER_RESERVED_66
Definition ais.pb.h:226
@ Voyage_ShipType_TYPE__PASSENGER_HAZARDOUS_CATEGORY_A
Definition ais.pb.h:191
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_46
Definition ais.pb.h:176
@ Voyage_ShipType_TYPE__OTHER_HAZARDOUS_CATEGORY_B
Definition ais.pb.h:222
@ Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_D
Definition ais.pb.h:214
@ Voyage_ShipType_TYPE__SPARE56_LOCAL_VESSEL
Definition ais.pb.h:186
@ Voyage_ShipType_TYPE__HIGH_SPEED_CRAFT_RESERVED_45
Definition ais.pb.h:175
@ Voyage_ShipType_TYPE__ANTI_POLLUTION_EQUIPMENT
Definition ais.pb.h:184
@ Voyage_ShipType_TYPE__CARGO_HAZARDOUS_CATEGORY_A
Definition ais.pb.h:201
@ Voyage_ShipType_TYPE__WING_IN_GROUND_RESERVED_25
Definition ais.pb.h:155
@ Voyage_ShipType_TYPE__MEDICAL_TRANSPORT
Definition ais.pb.h:188
@ Voyage_ShipType_TYPE__CARGO_RESERVED_67
Definition ais.pb.h:207
@ Voyage_ShipType_TYPE__SEARCH_AND_RESCUE_VESSEL
Definition ais.pb.h:181
@ Voyage_ShipType_TYPE__TANKER_HAZARDOUS_CATEGORY_C
Definition ais.pb.h:213
constexpr Position_PositionAccuracy Position_PositionAccuracy_PositionAccuracy_MAX
Definition ais.pb.h:112
bool Voyage_ShipType_IsValid(int value)
bool Position_PositionAccuracy_IsValid(int value)
constexpr int Voyage_FixType_FixType_ARRAYSIZE
Definition ais.pb.h:264
constexpr Position_PositionAccuracy Position_PositionAccuracy_PositionAccuracy_MIN
Definition ais.pb.h:111
constexpr Status Status_MIN
Definition ais.pb.h:299
const std::string & Position_TurnInfo_Name(T enum_t_value)
Definition ais.pb.h:94
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Status_descriptor()
VoyageDefaultTypeInternal _Voyage_default_instance_
constexpr Voyage_ShipType Voyage_ShipType_ShipType_MAX
Definition ais.pb.h:233
The global namespace for the Goby project.
#define ByteSizeLong