JaiaBot  1.20.0
JaiaBot micro-AUV software
nanopb.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: nanopb.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_nanopb_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_nanopb_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3012000
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 3012004 < 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>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 #include <google/protobuf/descriptor.pb.h>
37 #include <boost/units/quantity.hpp>
38 #include <boost/units/absolute.hpp>
39 #include <boost/units/dimensionless_type.hpp>
40 #include <boost/units/make_scaled_unit.hpp>
41 // @@protoc_insertion_point(includes)
42 #include <google/protobuf/port_def.inc>
43 #define PROTOBUF_INTERNAL_EXPORT_nanopb_2eproto
44 PROTOBUF_NAMESPACE_OPEN
45 namespace internal {
46 class AnyMetadata;
47 } // namespace internal
48 PROTOBUF_NAMESPACE_CLOSE
49 
50 // Internal implementation detail -- do not use these members.
52  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
53  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
54  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
55  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
56  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
57  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
58  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
59  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
60  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
61 };
62 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_nanopb_2eproto;
63 class NanoPBOptions;
64 class NanoPBOptionsDefaultTypeInternal;
65 extern NanoPBOptionsDefaultTypeInternal _NanoPBOptions_default_instance_;
66 PROTOBUF_NAMESPACE_OPEN
67 template<> ::NanoPBOptions* Arena::CreateMaybeMessage<::NanoPBOptions>(Arena*);
68 PROTOBUF_NAMESPACE_CLOSE
69 
70 enum FieldType : int {
74  FT_STATIC = 2,
75  FT_IGNORE = 3,
76  FT_INLINE = 5
77 };
78 bool FieldType_IsValid(int value);
81 constexpr int FieldType_ARRAYSIZE = FieldType_MAX + 1;
82 
83 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FieldType_descriptor();
84 template<typename T>
85 inline const std::string& FieldType_Name(T enum_t_value) {
86  static_assert(::std::is_same<T, FieldType>::value ||
87  ::std::is_integral<T>::value,
88  "Incorrect type passed to function FieldType_Name.");
89  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
90  FieldType_descriptor(), enum_t_value);
91 }
92 inline bool FieldType_Parse(
93  const std::string& name, FieldType* value) {
94  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<FieldType>(
95  FieldType_descriptor(), name, value);
96 }
97 enum IntSize : int {
99  IS_8 = 8,
100  IS_16 = 16,
101  IS_32 = 32,
102  IS_64 = 64
103 };
104 bool IntSize_IsValid(int value);
107 constexpr int IntSize_ARRAYSIZE = IntSize_MAX + 1;
108 
109 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* IntSize_descriptor();
110 template<typename T>
111 inline const std::string& IntSize_Name(T enum_t_value) {
112  static_assert(::std::is_same<T, IntSize>::value ||
113  ::std::is_integral<T>::value,
114  "Incorrect type passed to function IntSize_Name.");
115  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
116  IntSize_descriptor(), enum_t_value);
117 }
118 inline bool IntSize_Parse(
119  const std::string& name, IntSize* value) {
120  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<IntSize>(
121  IntSize_descriptor(), name, value);
122 }
123 enum TypenameMangling : int {
124  M_NONE = 0,
128 };
129 bool TypenameMangling_IsValid(int value);
133 
134 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TypenameMangling_descriptor();
135 template<typename T>
136 inline const std::string& TypenameMangling_Name(T enum_t_value) {
137  static_assert(::std::is_same<T, TypenameMangling>::value ||
138  ::std::is_integral<T>::value,
139  "Incorrect type passed to function TypenameMangling_Name.");
140  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
141  TypenameMangling_descriptor(), enum_t_value);
142 }
144  const std::string& name, TypenameMangling* value) {
145  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<TypenameMangling>(
146  TypenameMangling_descriptor(), name, value);
147 }
148 enum DescriptorSize : int {
149  DS_AUTO = 0,
150  DS_1 = 1,
151  DS_2 = 2,
152  DS_4 = 4,
153  DS_8 = 8
154 };
155 bool DescriptorSize_IsValid(int value);
159 
160 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DescriptorSize_descriptor();
161 template<typename T>
162 inline const std::string& DescriptorSize_Name(T enum_t_value) {
163  static_assert(::std::is_same<T, DescriptorSize>::value ||
164  ::std::is_integral<T>::value,
165  "Incorrect type passed to function DescriptorSize_Name.");
166  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
167  DescriptorSize_descriptor(), enum_t_value);
168 }
170  const std::string& name, DescriptorSize* value) {
171  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DescriptorSize>(
172  DescriptorSize_descriptor(), name, value);
173 }
174 // ===================================================================
175 
176 class NanoPBOptions PROTOBUF_FINAL :
177  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:NanoPBOptions) */ {
178  public:
179  inline NanoPBOptions() : NanoPBOptions(nullptr) {};
180  virtual ~NanoPBOptions();
181 
182  NanoPBOptions(const NanoPBOptions& from);
183  NanoPBOptions(NanoPBOptions&& from) noexcept
184  : NanoPBOptions() {
185  *this = ::std::move(from);
186  }
187 
188  inline NanoPBOptions& operator=(const NanoPBOptions& from) {
189  CopyFrom(from);
190  return *this;
191  }
192  inline NanoPBOptions& operator=(NanoPBOptions&& from) noexcept {
193  if (GetArena() == from.GetArena()) {
194  if (this != &from) InternalSwap(&from);
195  } else {
196  CopyFrom(from);
197  }
198  return *this;
199  }
200 
201  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
202  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
203  }
204  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
205  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
206  }
207 
208  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
209  return GetDescriptor();
210  }
211  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
212  return GetMetadataStatic().descriptor;
213  }
214  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
215  return GetMetadataStatic().reflection;
216  }
217  static const NanoPBOptions& default_instance();
218 
219  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
220  static inline const NanoPBOptions* internal_default_instance() {
221  return reinterpret_cast<const NanoPBOptions*>(
223  }
224  static constexpr int kIndexInFileMessages =
225  0;
226 
227  friend void swap(NanoPBOptions& a, NanoPBOptions& b) {
228  a.Swap(&b);
229  }
230  inline void Swap(NanoPBOptions* other) {
231  if (other == this) return;
232  if (GetArena() == other->GetArena()) {
233  InternalSwap(other);
234  } else {
235  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
236  }
237  }
238  void UnsafeArenaSwap(NanoPBOptions* other) {
239  if (other == this) return;
240  GOOGLE_DCHECK(GetArena() == other->GetArena());
241  InternalSwap(other);
242  }
243 
244  // implements Message ----------------------------------------------
245 
246  inline NanoPBOptions* New() const final {
247  return CreateMaybeMessage<NanoPBOptions>(nullptr);
248  }
249 
250  NanoPBOptions* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
251  return CreateMaybeMessage<NanoPBOptions>(arena);
252  }
253  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
254  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
255  void CopyFrom(const NanoPBOptions& from);
256  void MergeFrom(const NanoPBOptions& from);
257  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
258  bool IsInitialized() const final;
259 
260  size_t ByteSizeLong() const final;
261  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
262  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
263  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
264  int GetCachedSize() const final { return _cached_size_.Get(); }
265 
266  private:
267  inline void SharedCtor();
268  inline void SharedDtor();
269  void SetCachedSize(int size) const final;
270  void InternalSwap(NanoPBOptions* other);
271  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
272  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
273  return "NanoPBOptions";
274  }
275  protected:
276  explicit NanoPBOptions(::PROTOBUF_NAMESPACE_ID::Arena* arena);
277  private:
278  static void ArenaDtor(void* object);
279  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
280  public:
281 
282  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
283  private:
284  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
285  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_nanopb_2eproto);
286  return ::descriptor_table_nanopb_2eproto.file_level_metadata[kIndexInFileMessages];
287  }
288 
289  public:
290 
291  // nested types ----------------------------------------------------
292 
293  // accessors -------------------------------------------------------
294 
295  enum : int {
296  kIncludeFieldNumber = 24,
297  kExcludeFieldNumber = 26,
298  kCallbackDatatypeFieldNumber = 18,
299  kCallbackFunctionFieldNumber = 19,
300  kPackageFieldNumber = 25,
301  kMaxSizeFieldNumber = 1,
302  kMaxCountFieldNumber = 2,
303  kTypeFieldNumber = 3,
304  kIntSizeFieldNumber = 7,
305  kPackedStructFieldNumber = 5,
306  kPackedEnumFieldNumber = 10,
307  kSkipMessageFieldNumber = 6,
308  kNoUnionsFieldNumber = 8,
309  kMsgidFieldNumber = 9,
310  kMaxLengthFieldNumber = 14,
311  kAnonymousOneofFieldNumber = 11,
312  kProto3FieldNumber = 12,
313  kProto3SingularMsgsFieldNumber = 21,
314  kEnumToStringFieldNumber = 13,
315  kMangleNamesFieldNumber = 17,
316  kFixedLengthFieldNumber = 15,
317  kFixedCountFieldNumber = 16,
318  kSubmsgCallbackFieldNumber = 22,
319  kDefaultHasFieldNumber = 23,
320  kDescriptorsizeFieldNumber = 20,
321  kLongNamesFieldNumber = 4,
322  kSortByTagFieldNumber = 28,
323  kTypeOverrideFieldNumber = 27,
324  };
325  // repeated string include = 24;
326  int include_size() const;
327  private:
328  int _internal_include_size() const;
329  public:
331  const std::string& include(int index) const;
332  std::string* mutable_include(int index);
333  void set_include(int index, const std::string& value);
334  void set_include(int index, std::string&& value);
335  void set_include(int index, const char* value);
336  void set_include(int index, const char* value, size_t size);
337  std::string* add_include();
338  void add_include(const std::string& value);
339  void add_include(std::string&& value);
340  void add_include(const char* value);
341  void add_include(const char* value, size_t size);
342  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& include() const;
343  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_include();
344  private:
345  const std::string& _internal_include(int index) const;
346  std::string* _internal_add_include();
347  public:
348 
349  // repeated string exclude = 26;
350  int exclude_size() const;
351  private:
352  int _internal_exclude_size() const;
353  public:
355  const std::string& exclude(int index) const;
356  std::string* mutable_exclude(int index);
357  void set_exclude(int index, const std::string& value);
358  void set_exclude(int index, std::string&& value);
359  void set_exclude(int index, const char* value);
360  void set_exclude(int index, const char* value, size_t size);
361  std::string* add_exclude();
362  void add_exclude(const std::string& value);
363  void add_exclude(std::string&& value);
364  void add_exclude(const char* value);
365  void add_exclude(const char* value, size_t size);
366  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& exclude() const;
367  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_exclude();
368  private:
369  const std::string& _internal_exclude(int index) const;
370  std::string* _internal_add_exclude();
371  public:
372 
373  // optional string callback_datatype = 18 [default = "pb_callback_t"];
374  bool has_callback_datatype() const;
375  private:
376  bool _internal_has_callback_datatype() const;
377  public:
379  const std::string& callback_datatype() const;
380  void set_callback_datatype(const std::string& value);
381  void set_callback_datatype(std::string&& value);
382  void set_callback_datatype(const char* value);
383  void set_callback_datatype(const char* value, size_t size);
386  void set_allocated_callback_datatype(std::string* callback_datatype);
387  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
388  " string fields are deprecated and will be removed in a"
389  " future release.")
390  std::string* unsafe_arena_release_callback_datatype();
391  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
392  " string fields are deprecated and will be removed in a"
393  " future release.")
394  void unsafe_arena_set_allocated_callback_datatype(
395  std::string* callback_datatype);
396  private:
397  const std::string& _internal_callback_datatype() const;
398  void _internal_set_callback_datatype(const std::string& value);
399  std::string* _internal_mutable_callback_datatype();
400  public:
401 
402  // optional string callback_function = 19 [default = "pb_default_field_callback"];
403  bool has_callback_function() const;
404  private:
405  bool _internal_has_callback_function() const;
406  public:
407  void clear_callback_function();
408  const std::string& callback_function() const;
409  void set_callback_function(const std::string& value);
410  void set_callback_function(std::string&& value);
411  void set_callback_function(const char* value);
412  void set_callback_function(const char* value, size_t size);
413  std::string* mutable_callback_function();
414  std::string* release_callback_function();
415  void set_allocated_callback_function(std::string* callback_function);
416  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
417  " string fields are deprecated and will be removed in a"
418  " future release.")
419  std::string* unsafe_arena_release_callback_function();
420  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
421  " string fields are deprecated and will be removed in a"
422  " future release.")
423  void unsafe_arena_set_allocated_callback_function(
424  std::string* callback_function);
425  private:
426  const std::string& _internal_callback_function() const;
427  void _internal_set_callback_function(const std::string& value);
428  std::string* _internal_mutable_callback_function();
429  public:
430 
431  // optional string package = 25;
432  bool has_package() const;
433  private:
434  bool _internal_has_package() const;
435  public:
436  void clear_package();
437  const std::string& package() const;
438  void set_package(const std::string& value);
439  void set_package(std::string&& value);
440  void set_package(const char* value);
441  void set_package(const char* value, size_t size);
442  std::string* mutable_package();
443  std::string* release_package();
444  void set_allocated_package(std::string* package);
445  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
446  " string fields are deprecated and will be removed in a"
447  " future release.")
448  std::string* unsafe_arena_release_package();
449  GOOGLE_PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
450  " string fields are deprecated and will be removed in a"
451  " future release.")
452  void unsafe_arena_set_allocated_package(
453  std::string* package);
454  private:
455  const std::string& _internal_package() const;
456  void _internal_set_package(const std::string& value);
457  std::string* _internal_mutable_package();
458  public:
459 
460  // optional int32 max_size = 1;
461  bool has_max_size() const;
462  private:
463  bool _internal_has_max_size() const;
464  public:
465  void clear_max_size();
466  ::PROTOBUF_NAMESPACE_ID::int32 max_size() const;
467  void set_max_size(::PROTOBUF_NAMESPACE_ID::int32 value);
468  private:
469  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_size() const;
470  void _internal_set_max_size(::PROTOBUF_NAMESPACE_ID::int32 value);
471  public:
472 
473  // optional int32 max_count = 2;
474  bool has_max_count() const;
475  private:
476  bool _internal_has_max_count() const;
477  public:
478  void clear_max_count();
479  ::PROTOBUF_NAMESPACE_ID::int32 max_count() const;
480  void set_max_count(::PROTOBUF_NAMESPACE_ID::int32 value);
481  private:
482  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_count() const;
483  void _internal_set_max_count(::PROTOBUF_NAMESPACE_ID::int32 value);
484  public:
485 
486  // optional .FieldType type = 3 [default = FT_DEFAULT];
487  bool has_type() const;
488  private:
489  bool _internal_has_type() const;
490  public:
491  void clear_type();
492  ::FieldType type() const;
493  void set_type(::FieldType value);
494  private:
495  ::FieldType _internal_type() const;
496  void _internal_set_type(::FieldType value);
497  public:
498 
499  // optional .IntSize int_size = 7 [default = IS_DEFAULT];
500  bool has_int_size() const;
501  private:
502  bool _internal_has_int_size() const;
503  public:
504  void clear_int_size();
505  ::IntSize int_size() const;
506  void set_int_size(::IntSize value);
507  private:
508  ::IntSize _internal_int_size() const;
509  void _internal_set_int_size(::IntSize value);
510  public:
511 
512  // optional bool packed_struct = 5 [default = false];
513  bool has_packed_struct() const;
514  private:
515  bool _internal_has_packed_struct() const;
516  public:
517  void clear_packed_struct();
518  bool packed_struct() const;
519  void set_packed_struct(bool value);
520  private:
521  bool _internal_packed_struct() const;
522  void _internal_set_packed_struct(bool value);
523  public:
524 
525  // optional bool packed_enum = 10 [default = false];
526  bool has_packed_enum() const;
527  private:
528  bool _internal_has_packed_enum() const;
529  public:
530  void clear_packed_enum();
531  bool packed_enum() const;
532  void set_packed_enum(bool value);
533  private:
534  bool _internal_packed_enum() const;
535  void _internal_set_packed_enum(bool value);
536  public:
537 
538  // optional bool skip_message = 6 [default = false];
539  bool has_skip_message() const;
540  private:
541  bool _internal_has_skip_message() const;
542  public:
543  void clear_skip_message();
544  bool skip_message() const;
545  void set_skip_message(bool value);
546  private:
547  bool _internal_skip_message() const;
548  void _internal_set_skip_message(bool value);
549  public:
550 
551  // optional bool no_unions = 8 [default = false];
552  bool has_no_unions() const;
553  private:
554  bool _internal_has_no_unions() const;
555  public:
556  void clear_no_unions();
557  bool no_unions() const;
558  void set_no_unions(bool value);
559  private:
560  bool _internal_no_unions() const;
561  void _internal_set_no_unions(bool value);
562  public:
563 
564  // optional uint32 msgid = 9;
565  bool has_msgid() const;
566  private:
567  bool _internal_has_msgid() const;
568  public:
569  void clear_msgid();
570  ::PROTOBUF_NAMESPACE_ID::uint32 msgid() const;
571  void set_msgid(::PROTOBUF_NAMESPACE_ID::uint32 value);
572  private:
573  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_msgid() const;
574  void _internal_set_msgid(::PROTOBUF_NAMESPACE_ID::uint32 value);
575  public:
576 
577  // optional int32 max_length = 14;
578  bool has_max_length() const;
579  private:
580  bool _internal_has_max_length() const;
581  public:
582  void clear_max_length();
583  ::PROTOBUF_NAMESPACE_ID::int32 max_length() const;
584  void set_max_length(::PROTOBUF_NAMESPACE_ID::int32 value);
585  private:
586  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_length() const;
587  void _internal_set_max_length(::PROTOBUF_NAMESPACE_ID::int32 value);
588  public:
589 
590  // optional bool anonymous_oneof = 11 [default = false];
591  bool has_anonymous_oneof() const;
592  private:
593  bool _internal_has_anonymous_oneof() const;
594  public:
595  void clear_anonymous_oneof();
596  bool anonymous_oneof() const;
597  void set_anonymous_oneof(bool value);
598  private:
599  bool _internal_anonymous_oneof() const;
600  void _internal_set_anonymous_oneof(bool value);
601  public:
602 
603  // optional bool proto3 = 12 [default = false];
604  bool has_proto3() const;
605  private:
606  bool _internal_has_proto3() const;
607  public:
608  void clear_proto3();
609  bool proto3() const;
610  void set_proto3(bool value);
611  private:
612  bool _internal_proto3() const;
613  void _internal_set_proto3(bool value);
614  public:
615 
616  // optional bool proto3_singular_msgs = 21 [default = false];
617  bool has_proto3_singular_msgs() const;
618  private:
619  bool _internal_has_proto3_singular_msgs() const;
620  public:
621  void clear_proto3_singular_msgs();
622  bool proto3_singular_msgs() const;
623  void set_proto3_singular_msgs(bool value);
624  private:
625  bool _internal_proto3_singular_msgs() const;
626  void _internal_set_proto3_singular_msgs(bool value);
627  public:
628 
629  // optional bool enum_to_string = 13 [default = false];
630  bool has_enum_to_string() const;
631  private:
632  bool _internal_has_enum_to_string() const;
633  public:
634  void clear_enum_to_string();
635  bool enum_to_string() const;
636  void set_enum_to_string(bool value);
637  private:
638  bool _internal_enum_to_string() const;
639  void _internal_set_enum_to_string(bool value);
640  public:
641 
642  // optional .TypenameMangling mangle_names = 17 [default = M_NONE];
643  bool has_mangle_names() const;
644  private:
645  bool _internal_has_mangle_names() const;
646  public:
647  void clear_mangle_names();
648  ::TypenameMangling mangle_names() const;
649  void set_mangle_names(::TypenameMangling value);
650  private:
651  ::TypenameMangling _internal_mangle_names() const;
652  void _internal_set_mangle_names(::TypenameMangling value);
653  public:
654 
655  // optional bool fixed_length = 15 [default = false];
656  bool has_fixed_length() const;
657  private:
658  bool _internal_has_fixed_length() const;
659  public:
660  void clear_fixed_length();
661  bool fixed_length() const;
662  void set_fixed_length(bool value);
663  private:
664  bool _internal_fixed_length() const;
665  void _internal_set_fixed_length(bool value);
666  public:
667 
668  // optional bool fixed_count = 16 [default = false];
669  bool has_fixed_count() const;
670  private:
671  bool _internal_has_fixed_count() const;
672  public:
673  void clear_fixed_count();
674  bool fixed_count() const;
675  void set_fixed_count(bool value);
676  private:
677  bool _internal_fixed_count() const;
678  void _internal_set_fixed_count(bool value);
679  public:
680 
681  // optional bool submsg_callback = 22 [default = false];
682  bool has_submsg_callback() const;
683  private:
684  bool _internal_has_submsg_callback() const;
685  public:
686  void clear_submsg_callback();
687  bool submsg_callback() const;
688  void set_submsg_callback(bool value);
689  private:
690  bool _internal_submsg_callback() const;
691  void _internal_set_submsg_callback(bool value);
692  public:
693 
694  // optional bool default_has = 23 [default = false];
695  bool has_default_has() const;
696  private:
697  bool _internal_has_default_has() const;
698  public:
699  void clear_default_has();
700  bool default_has() const;
701  void set_default_has(bool value);
702  private:
703  bool _internal_default_has() const;
704  void _internal_set_default_has(bool value);
705  public:
706 
707  // optional .DescriptorSize descriptorsize = 20 [default = DS_AUTO];
708  bool has_descriptorsize() const;
709  private:
710  bool _internal_has_descriptorsize() const;
711  public:
712  void clear_descriptorsize();
713  ::DescriptorSize descriptorsize() const;
714  void set_descriptorsize(::DescriptorSize value);
715  private:
716  ::DescriptorSize _internal_descriptorsize() const;
717  void _internal_set_descriptorsize(::DescriptorSize value);
718  public:
719 
720  // optional bool long_names = 4 [default = true];
721  bool has_long_names() const;
722  private:
723  bool _internal_has_long_names() const;
724  public:
725  void clear_long_names();
726  bool long_names() const;
727  void set_long_names(bool value);
728  private:
729  bool _internal_long_names() const;
730  void _internal_set_long_names(bool value);
731  public:
732 
733  // optional bool sort_by_tag = 28 [default = true];
734  bool has_sort_by_tag() const;
735  private:
736  bool _internal_has_sort_by_tag() const;
737  public:
738  void clear_sort_by_tag();
739  bool sort_by_tag() const;
740  void set_sort_by_tag(bool value);
741  private:
742  bool _internal_sort_by_tag() const;
743  void _internal_set_sort_by_tag(bool value);
744  public:
745 
746  // optional .google.protobuf.FieldDescriptorProto.Type type_override = 27;
747  bool has_type_override() const;
748  private:
749  bool _internal_has_type_override() const;
750  public:
751  void clear_type_override();
752  PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type type_override() const;
753  void set_type_override(PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type value);
754  private:
755  PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type _internal_type_override() const;
756  void _internal_set_type_override(PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type value);
757  public:
758 
759  // @@protoc_insertion_point(class_scope:NanoPBOptions)
760  private:
761  class _Internal;
762 
763  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
764  typedef void InternalArenaConstructable_;
765  typedef void DestructorSkippable_;
766  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
767  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
768  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> include_;
769  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> exclude_;
770  public:
771  static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string> _i_give_permission_to_break_this_code_default_callback_datatype_;
772  private:
773  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr callback_datatype_;
774  public:
775  static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string> _i_give_permission_to_break_this_code_default_callback_function_;
776  private:
777  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr callback_function_;
778  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr package_;
779  ::PROTOBUF_NAMESPACE_ID::int32 max_size_;
780  ::PROTOBUF_NAMESPACE_ID::int32 max_count_;
781  int type_;
782  int int_size_;
783  bool packed_struct_;
784  bool packed_enum_;
785  bool skip_message_;
786  bool no_unions_;
787  ::PROTOBUF_NAMESPACE_ID::uint32 msgid_;
788  ::PROTOBUF_NAMESPACE_ID::int32 max_length_;
789  bool anonymous_oneof_;
790  bool proto3_;
791  bool proto3_singular_msgs_;
792  bool enum_to_string_;
793  int mangle_names_;
794  bool fixed_length_;
795  bool fixed_count_;
796  bool submsg_callback_;
797  bool default_has_;
798  int descriptorsize_;
799  bool long_names_;
800  bool sort_by_tag_;
801  int type_override_;
802  friend struct ::TableStruct_nanopb_2eproto;
803 };
804 // ===================================================================
805 
806 static const int kNanopbFileoptFieldNumber = 1010;
807 extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::FileOptions,
808  ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::NanoPBOptions >, 11, false >
810 static const int kNanopbMsgoptFieldNumber = 1010;
811 extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::MessageOptions,
812  ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::NanoPBOptions >, 11, false >
814 static const int kNanopbEnumoptFieldNumber = 1010;
815 extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::EnumOptions,
816  ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::NanoPBOptions >, 11, false >
818 static const int kNanopbFieldNumber = 1010;
819 extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::FieldOptions,
820  ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::NanoPBOptions >, 11, false >
822 
823 // ===================================================================
824 
825 #ifdef __GNUC__
826  #pragma GCC diagnostic push
827  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
828 #endif // __GNUC__
829 // NanoPBOptions
830 
831 // optional int32 max_size = 1;
832 inline bool NanoPBOptions::_internal_has_max_size() const {
833  bool value = (_has_bits_[0] & 0x00000008u) != 0;
834  return value;
835 }
836 inline bool NanoPBOptions::has_max_size() const {
837  return _internal_has_max_size();
838 }
839 inline void NanoPBOptions::clear_max_size() {
840  max_size_ = 0;
841  _has_bits_[0] &= ~0x00000008u;
842 }
843 inline ::PROTOBUF_NAMESPACE_ID::int32 NanoPBOptions::_internal_max_size() const {
844  return max_size_;
845 }
846 inline ::PROTOBUF_NAMESPACE_ID::int32 NanoPBOptions::max_size() const {
847  // @@protoc_insertion_point(field_get:NanoPBOptions.max_size)
848  return _internal_max_size();
849 }
850 inline void NanoPBOptions::_internal_set_max_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
851  _has_bits_[0] |= 0x00000008u;
852  max_size_ = value;
853 }
854 inline void NanoPBOptions::set_max_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
855  _internal_set_max_size(value);
856  // @@protoc_insertion_point(field_set:NanoPBOptions.max_size)
857 }
858 
859 // optional int32 max_length = 14;
860 inline bool NanoPBOptions::_internal_has_max_length() const {
861  bool value = (_has_bits_[0] & 0x00001000u) != 0;
862  return value;
863 }
864 inline bool NanoPBOptions::has_max_length() const {
865  return _internal_has_max_length();
866 }
867 inline void NanoPBOptions::clear_max_length() {
868  max_length_ = 0;
869  _has_bits_[0] &= ~0x00001000u;
870 }
871 inline ::PROTOBUF_NAMESPACE_ID::int32 NanoPBOptions::_internal_max_length() const {
872  return max_length_;
873 }
874 inline ::PROTOBUF_NAMESPACE_ID::int32 NanoPBOptions::max_length() const {
875  // @@protoc_insertion_point(field_get:NanoPBOptions.max_length)
876  return _internal_max_length();
877 }
878 inline void NanoPBOptions::_internal_set_max_length(::PROTOBUF_NAMESPACE_ID::int32 value) {
879  _has_bits_[0] |= 0x00001000u;
880  max_length_ = value;
881 }
882 inline void NanoPBOptions::set_max_length(::PROTOBUF_NAMESPACE_ID::int32 value) {
883  _internal_set_max_length(value);
884  // @@protoc_insertion_point(field_set:NanoPBOptions.max_length)
885 }
886 
887 // optional int32 max_count = 2;
888 inline bool NanoPBOptions::_internal_has_max_count() const {
889  bool value = (_has_bits_[0] & 0x00000010u) != 0;
890  return value;
891 }
892 inline bool NanoPBOptions::has_max_count() const {
893  return _internal_has_max_count();
894 }
895 inline void NanoPBOptions::clear_max_count() {
896  max_count_ = 0;
897  _has_bits_[0] &= ~0x00000010u;
898 }
899 inline ::PROTOBUF_NAMESPACE_ID::int32 NanoPBOptions::_internal_max_count() const {
900  return max_count_;
901 }
902 inline ::PROTOBUF_NAMESPACE_ID::int32 NanoPBOptions::max_count() const {
903  // @@protoc_insertion_point(field_get:NanoPBOptions.max_count)
904  return _internal_max_count();
905 }
906 inline void NanoPBOptions::_internal_set_max_count(::PROTOBUF_NAMESPACE_ID::int32 value) {
907  _has_bits_[0] |= 0x00000010u;
908  max_count_ = value;
909 }
910 inline void NanoPBOptions::set_max_count(::PROTOBUF_NAMESPACE_ID::int32 value) {
911  _internal_set_max_count(value);
912  // @@protoc_insertion_point(field_set:NanoPBOptions.max_count)
913 }
914 
915 // optional .IntSize int_size = 7 [default = IS_DEFAULT];
916 inline bool NanoPBOptions::_internal_has_int_size() const {
917  bool value = (_has_bits_[0] & 0x00000040u) != 0;
918  return value;
919 }
920 inline bool NanoPBOptions::has_int_size() const {
921  return _internal_has_int_size();
922 }
923 inline void NanoPBOptions::clear_int_size() {
924  int_size_ = 0;
925  _has_bits_[0] &= ~0x00000040u;
926 }
927 inline ::IntSize NanoPBOptions::_internal_int_size() const {
928  return static_cast< ::IntSize >(int_size_);
929 }
930 inline ::IntSize NanoPBOptions::int_size() const {
931  // @@protoc_insertion_point(field_get:NanoPBOptions.int_size)
932  return _internal_int_size();
933 }
934 inline void NanoPBOptions::_internal_set_int_size(::IntSize value) {
935  assert(::IntSize_IsValid(value));
936  _has_bits_[0] |= 0x00000040u;
937  int_size_ = value;
938 }
939 inline void NanoPBOptions::set_int_size(::IntSize value) {
940  _internal_set_int_size(value);
941  // @@protoc_insertion_point(field_set:NanoPBOptions.int_size)
942 }
943 
944 // optional .FieldType type = 3 [default = FT_DEFAULT];
945 inline bool NanoPBOptions::_internal_has_type() const {
946  bool value = (_has_bits_[0] & 0x00000020u) != 0;
947  return value;
948 }
949 inline bool NanoPBOptions::has_type() const {
950  return _internal_has_type();
951 }
952 inline void NanoPBOptions::clear_type() {
953  type_ = 0;
954  _has_bits_[0] &= ~0x00000020u;
955 }
956 inline ::FieldType NanoPBOptions::_internal_type() const {
957  return static_cast< ::FieldType >(type_);
958 }
959 inline ::FieldType NanoPBOptions::type() const {
960  // @@protoc_insertion_point(field_get:NanoPBOptions.type)
961  return _internal_type();
962 }
963 inline void NanoPBOptions::_internal_set_type(::FieldType value) {
964  assert(::FieldType_IsValid(value));
965  _has_bits_[0] |= 0x00000020u;
966  type_ = value;
967 }
968 inline void NanoPBOptions::set_type(::FieldType value) {
969  _internal_set_type(value);
970  // @@protoc_insertion_point(field_set:NanoPBOptions.type)
971 }
972 
973 // optional bool long_names = 4 [default = true];
974 inline bool NanoPBOptions::_internal_has_long_names() const {
975  bool value = (_has_bits_[0] & 0x00800000u) != 0;
976  return value;
977 }
978 inline bool NanoPBOptions::has_long_names() const {
979  return _internal_has_long_names();
980 }
981 inline void NanoPBOptions::clear_long_names() {
982  long_names_ = true;
983  _has_bits_[0] &= ~0x00800000u;
984 }
985 inline bool NanoPBOptions::_internal_long_names() const {
986  return long_names_;
987 }
988 inline bool NanoPBOptions::long_names() const {
989  // @@protoc_insertion_point(field_get:NanoPBOptions.long_names)
990  return _internal_long_names();
991 }
992 inline void NanoPBOptions::_internal_set_long_names(bool value) {
993  _has_bits_[0] |= 0x00800000u;
994  long_names_ = value;
995 }
996 inline void NanoPBOptions::set_long_names(bool value) {
997  _internal_set_long_names(value);
998  // @@protoc_insertion_point(field_set:NanoPBOptions.long_names)
999 }
1000 
1001 // optional bool packed_struct = 5 [default = false];
1002 inline bool NanoPBOptions::_internal_has_packed_struct() const {
1003  bool value = (_has_bits_[0] & 0x00000080u) != 0;
1004  return value;
1005 }
1006 inline bool NanoPBOptions::has_packed_struct() const {
1007  return _internal_has_packed_struct();
1008 }
1009 inline void NanoPBOptions::clear_packed_struct() {
1010  packed_struct_ = false;
1011  _has_bits_[0] &= ~0x00000080u;
1012 }
1013 inline bool NanoPBOptions::_internal_packed_struct() const {
1014  return packed_struct_;
1015 }
1016 inline bool NanoPBOptions::packed_struct() const {
1017  // @@protoc_insertion_point(field_get:NanoPBOptions.packed_struct)
1018  return _internal_packed_struct();
1019 }
1020 inline void NanoPBOptions::_internal_set_packed_struct(bool value) {
1021  _has_bits_[0] |= 0x00000080u;
1022  packed_struct_ = value;
1023 }
1024 inline void NanoPBOptions::set_packed_struct(bool value) {
1025  _internal_set_packed_struct(value);
1026  // @@protoc_insertion_point(field_set:NanoPBOptions.packed_struct)
1027 }
1028 
1029 // optional bool packed_enum = 10 [default = false];
1030 inline bool NanoPBOptions::_internal_has_packed_enum() const {
1031  bool value = (_has_bits_[0] & 0x00000100u) != 0;
1032  return value;
1033 }
1034 inline bool NanoPBOptions::has_packed_enum() const {
1035  return _internal_has_packed_enum();
1036 }
1037 inline void NanoPBOptions::clear_packed_enum() {
1038  packed_enum_ = false;
1039  _has_bits_[0] &= ~0x00000100u;
1040 }
1041 inline bool NanoPBOptions::_internal_packed_enum() const {
1042  return packed_enum_;
1043 }
1044 inline bool NanoPBOptions::packed_enum() const {
1045  // @@protoc_insertion_point(field_get:NanoPBOptions.packed_enum)
1046  return _internal_packed_enum();
1047 }
1048 inline void NanoPBOptions::_internal_set_packed_enum(bool value) {
1049  _has_bits_[0] |= 0x00000100u;
1050  packed_enum_ = value;
1051 }
1052 inline void NanoPBOptions::set_packed_enum(bool value) {
1053  _internal_set_packed_enum(value);
1054  // @@protoc_insertion_point(field_set:NanoPBOptions.packed_enum)
1055 }
1056 
1057 // optional bool skip_message = 6 [default = false];
1058 inline bool NanoPBOptions::_internal_has_skip_message() const {
1059  bool value = (_has_bits_[0] & 0x00000200u) != 0;
1060  return value;
1061 }
1062 inline bool NanoPBOptions::has_skip_message() const {
1063  return _internal_has_skip_message();
1064 }
1065 inline void NanoPBOptions::clear_skip_message() {
1066  skip_message_ = false;
1067  _has_bits_[0] &= ~0x00000200u;
1068 }
1069 inline bool NanoPBOptions::_internal_skip_message() const {
1070  return skip_message_;
1071 }
1072 inline bool NanoPBOptions::skip_message() const {
1073  // @@protoc_insertion_point(field_get:NanoPBOptions.skip_message)
1074  return _internal_skip_message();
1075 }
1076 inline void NanoPBOptions::_internal_set_skip_message(bool value) {
1077  _has_bits_[0] |= 0x00000200u;
1078  skip_message_ = value;
1079 }
1080 inline void NanoPBOptions::set_skip_message(bool value) {
1081  _internal_set_skip_message(value);
1082  // @@protoc_insertion_point(field_set:NanoPBOptions.skip_message)
1083 }
1084 
1085 // optional bool no_unions = 8 [default = false];
1086 inline bool NanoPBOptions::_internal_has_no_unions() const {
1087  bool value = (_has_bits_[0] & 0x00000400u) != 0;
1088  return value;
1089 }
1090 inline bool NanoPBOptions::has_no_unions() const {
1091  return _internal_has_no_unions();
1092 }
1093 inline void NanoPBOptions::clear_no_unions() {
1094  no_unions_ = false;
1095  _has_bits_[0] &= ~0x00000400u;
1096 }
1097 inline bool NanoPBOptions::_internal_no_unions() const {
1098  return no_unions_;
1099 }
1100 inline bool NanoPBOptions::no_unions() const {
1101  // @@protoc_insertion_point(field_get:NanoPBOptions.no_unions)
1102  return _internal_no_unions();
1103 }
1104 inline void NanoPBOptions::_internal_set_no_unions(bool value) {
1105  _has_bits_[0] |= 0x00000400u;
1106  no_unions_ = value;
1107 }
1108 inline void NanoPBOptions::set_no_unions(bool value) {
1109  _internal_set_no_unions(value);
1110  // @@protoc_insertion_point(field_set:NanoPBOptions.no_unions)
1111 }
1112 
1113 // optional uint32 msgid = 9;
1114 inline bool NanoPBOptions::_internal_has_msgid() const {
1115  bool value = (_has_bits_[0] & 0x00000800u) != 0;
1116  return value;
1117 }
1118 inline bool NanoPBOptions::has_msgid() const {
1119  return _internal_has_msgid();
1120 }
1121 inline void NanoPBOptions::clear_msgid() {
1122  msgid_ = 0u;
1123  _has_bits_[0] &= ~0x00000800u;
1124 }
1125 inline ::PROTOBUF_NAMESPACE_ID::uint32 NanoPBOptions::_internal_msgid() const {
1126  return msgid_;
1127 }
1128 inline ::PROTOBUF_NAMESPACE_ID::uint32 NanoPBOptions::msgid() const {
1129  // @@protoc_insertion_point(field_get:NanoPBOptions.msgid)
1130  return _internal_msgid();
1131 }
1132 inline void NanoPBOptions::_internal_set_msgid(::PROTOBUF_NAMESPACE_ID::uint32 value) {
1133  _has_bits_[0] |= 0x00000800u;
1134  msgid_ = value;
1135 }
1136 inline void NanoPBOptions::set_msgid(::PROTOBUF_NAMESPACE_ID::uint32 value) {
1137  _internal_set_msgid(value);
1138  // @@protoc_insertion_point(field_set:NanoPBOptions.msgid)
1139 }
1140 
1141 // optional bool anonymous_oneof = 11 [default = false];
1142 inline bool NanoPBOptions::_internal_has_anonymous_oneof() const {
1143  bool value = (_has_bits_[0] & 0x00002000u) != 0;
1144  return value;
1145 }
1146 inline bool NanoPBOptions::has_anonymous_oneof() const {
1147  return _internal_has_anonymous_oneof();
1148 }
1149 inline void NanoPBOptions::clear_anonymous_oneof() {
1150  anonymous_oneof_ = false;
1151  _has_bits_[0] &= ~0x00002000u;
1152 }
1153 inline bool NanoPBOptions::_internal_anonymous_oneof() const {
1154  return anonymous_oneof_;
1155 }
1156 inline bool NanoPBOptions::anonymous_oneof() const {
1157  // @@protoc_insertion_point(field_get:NanoPBOptions.anonymous_oneof)
1158  return _internal_anonymous_oneof();
1159 }
1160 inline void NanoPBOptions::_internal_set_anonymous_oneof(bool value) {
1161  _has_bits_[0] |= 0x00002000u;
1162  anonymous_oneof_ = value;
1163 }
1164 inline void NanoPBOptions::set_anonymous_oneof(bool value) {
1165  _internal_set_anonymous_oneof(value);
1166  // @@protoc_insertion_point(field_set:NanoPBOptions.anonymous_oneof)
1167 }
1168 
1169 // optional bool proto3 = 12 [default = false];
1170 inline bool NanoPBOptions::_internal_has_proto3() const {
1171  bool value = (_has_bits_[0] & 0x00004000u) != 0;
1172  return value;
1173 }
1174 inline bool NanoPBOptions::has_proto3() const {
1175  return _internal_has_proto3();
1176 }
1177 inline void NanoPBOptions::clear_proto3() {
1178  proto3_ = false;
1179  _has_bits_[0] &= ~0x00004000u;
1180 }
1181 inline bool NanoPBOptions::_internal_proto3() const {
1182  return proto3_;
1183 }
1184 inline bool NanoPBOptions::proto3() const {
1185  // @@protoc_insertion_point(field_get:NanoPBOptions.proto3)
1186  return _internal_proto3();
1187 }
1188 inline void NanoPBOptions::_internal_set_proto3(bool value) {
1189  _has_bits_[0] |= 0x00004000u;
1190  proto3_ = value;
1191 }
1192 inline void NanoPBOptions::set_proto3(bool value) {
1193  _internal_set_proto3(value);
1194  // @@protoc_insertion_point(field_set:NanoPBOptions.proto3)
1195 }
1196 
1197 // optional bool proto3_singular_msgs = 21 [default = false];
1198 inline bool NanoPBOptions::_internal_has_proto3_singular_msgs() const {
1199  bool value = (_has_bits_[0] & 0x00008000u) != 0;
1200  return value;
1201 }
1202 inline bool NanoPBOptions::has_proto3_singular_msgs() const {
1203  return _internal_has_proto3_singular_msgs();
1204 }
1205 inline void NanoPBOptions::clear_proto3_singular_msgs() {
1206  proto3_singular_msgs_ = false;
1207  _has_bits_[0] &= ~0x00008000u;
1208 }
1209 inline bool NanoPBOptions::_internal_proto3_singular_msgs() const {
1210  return proto3_singular_msgs_;
1211 }
1212 inline bool NanoPBOptions::proto3_singular_msgs() const {
1213  // @@protoc_insertion_point(field_get:NanoPBOptions.proto3_singular_msgs)
1214  return _internal_proto3_singular_msgs();
1215 }
1216 inline void NanoPBOptions::_internal_set_proto3_singular_msgs(bool value) {
1217  _has_bits_[0] |= 0x00008000u;
1218  proto3_singular_msgs_ = value;
1219 }
1220 inline void NanoPBOptions::set_proto3_singular_msgs(bool value) {
1221  _internal_set_proto3_singular_msgs(value);
1222  // @@protoc_insertion_point(field_set:NanoPBOptions.proto3_singular_msgs)
1223 }
1224 
1225 // optional bool enum_to_string = 13 [default = false];
1226 inline bool NanoPBOptions::_internal_has_enum_to_string() const {
1227  bool value = (_has_bits_[0] & 0x00010000u) != 0;
1228  return value;
1229 }
1230 inline bool NanoPBOptions::has_enum_to_string() const {
1231  return _internal_has_enum_to_string();
1232 }
1233 inline void NanoPBOptions::clear_enum_to_string() {
1234  enum_to_string_ = false;
1235  _has_bits_[0] &= ~0x00010000u;
1236 }
1237 inline bool NanoPBOptions::_internal_enum_to_string() const {
1238  return enum_to_string_;
1239 }
1240 inline bool NanoPBOptions::enum_to_string() const {
1241  // @@protoc_insertion_point(field_get:NanoPBOptions.enum_to_string)
1242  return _internal_enum_to_string();
1243 }
1244 inline void NanoPBOptions::_internal_set_enum_to_string(bool value) {
1245  _has_bits_[0] |= 0x00010000u;
1246  enum_to_string_ = value;
1247 }
1248 inline void NanoPBOptions::set_enum_to_string(bool value) {
1249  _internal_set_enum_to_string(value);
1250  // @@protoc_insertion_point(field_set:NanoPBOptions.enum_to_string)
1251 }
1252 
1253 // optional bool fixed_length = 15 [default = false];
1254 inline bool NanoPBOptions::_internal_has_fixed_length() const {
1255  bool value = (_has_bits_[0] & 0x00040000u) != 0;
1256  return value;
1257 }
1258 inline bool NanoPBOptions::has_fixed_length() const {
1259  return _internal_has_fixed_length();
1260 }
1261 inline void NanoPBOptions::clear_fixed_length() {
1262  fixed_length_ = false;
1263  _has_bits_[0] &= ~0x00040000u;
1264 }
1265 inline bool NanoPBOptions::_internal_fixed_length() const {
1266  return fixed_length_;
1267 }
1268 inline bool NanoPBOptions::fixed_length() const {
1269  // @@protoc_insertion_point(field_get:NanoPBOptions.fixed_length)
1270  return _internal_fixed_length();
1271 }
1272 inline void NanoPBOptions::_internal_set_fixed_length(bool value) {
1273  _has_bits_[0] |= 0x00040000u;
1274  fixed_length_ = value;
1275 }
1276 inline void NanoPBOptions::set_fixed_length(bool value) {
1277  _internal_set_fixed_length(value);
1278  // @@protoc_insertion_point(field_set:NanoPBOptions.fixed_length)
1279 }
1280 
1281 // optional bool fixed_count = 16 [default = false];
1282 inline bool NanoPBOptions::_internal_has_fixed_count() const {
1283  bool value = (_has_bits_[0] & 0x00080000u) != 0;
1284  return value;
1285 }
1286 inline bool NanoPBOptions::has_fixed_count() const {
1287  return _internal_has_fixed_count();
1288 }
1289 inline void NanoPBOptions::clear_fixed_count() {
1290  fixed_count_ = false;
1291  _has_bits_[0] &= ~0x00080000u;
1292 }
1293 inline bool NanoPBOptions::_internal_fixed_count() const {
1294  return fixed_count_;
1295 }
1296 inline bool NanoPBOptions::fixed_count() const {
1297  // @@protoc_insertion_point(field_get:NanoPBOptions.fixed_count)
1298  return _internal_fixed_count();
1299 }
1300 inline void NanoPBOptions::_internal_set_fixed_count(bool value) {
1301  _has_bits_[0] |= 0x00080000u;
1302  fixed_count_ = value;
1303 }
1304 inline void NanoPBOptions::set_fixed_count(bool value) {
1305  _internal_set_fixed_count(value);
1306  // @@protoc_insertion_point(field_set:NanoPBOptions.fixed_count)
1307 }
1308 
1309 // optional bool submsg_callback = 22 [default = false];
1310 inline bool NanoPBOptions::_internal_has_submsg_callback() const {
1311  bool value = (_has_bits_[0] & 0x00100000u) != 0;
1312  return value;
1313 }
1314 inline bool NanoPBOptions::has_submsg_callback() const {
1315  return _internal_has_submsg_callback();
1316 }
1317 inline void NanoPBOptions::clear_submsg_callback() {
1318  submsg_callback_ = false;
1319  _has_bits_[0] &= ~0x00100000u;
1320 }
1321 inline bool NanoPBOptions::_internal_submsg_callback() const {
1322  return submsg_callback_;
1323 }
1324 inline bool NanoPBOptions::submsg_callback() const {
1325  // @@protoc_insertion_point(field_get:NanoPBOptions.submsg_callback)
1326  return _internal_submsg_callback();
1327 }
1328 inline void NanoPBOptions::_internal_set_submsg_callback(bool value) {
1329  _has_bits_[0] |= 0x00100000u;
1330  submsg_callback_ = value;
1331 }
1332 inline void NanoPBOptions::set_submsg_callback(bool value) {
1333  _internal_set_submsg_callback(value);
1334  // @@protoc_insertion_point(field_set:NanoPBOptions.submsg_callback)
1335 }
1336 
1337 // optional .TypenameMangling mangle_names = 17 [default = M_NONE];
1338 inline bool NanoPBOptions::_internal_has_mangle_names() const {
1339  bool value = (_has_bits_[0] & 0x00020000u) != 0;
1340  return value;
1341 }
1342 inline bool NanoPBOptions::has_mangle_names() const {
1343  return _internal_has_mangle_names();
1344 }
1345 inline void NanoPBOptions::clear_mangle_names() {
1346  mangle_names_ = 0;
1347  _has_bits_[0] &= ~0x00020000u;
1348 }
1349 inline ::TypenameMangling NanoPBOptions::_internal_mangle_names() const {
1350  return static_cast< ::TypenameMangling >(mangle_names_);
1351 }
1352 inline ::TypenameMangling NanoPBOptions::mangle_names() const {
1353  // @@protoc_insertion_point(field_get:NanoPBOptions.mangle_names)
1354  return _internal_mangle_names();
1355 }
1356 inline void NanoPBOptions::_internal_set_mangle_names(::TypenameMangling value) {
1357  assert(::TypenameMangling_IsValid(value));
1358  _has_bits_[0] |= 0x00020000u;
1359  mangle_names_ = value;
1360 }
1361 inline void NanoPBOptions::set_mangle_names(::TypenameMangling value) {
1362  _internal_set_mangle_names(value);
1363  // @@protoc_insertion_point(field_set:NanoPBOptions.mangle_names)
1364 }
1365 
1366 // optional string callback_datatype = 18 [default = "pb_callback_t"];
1367 inline bool NanoPBOptions::_internal_has_callback_datatype() const {
1368  bool value = (_has_bits_[0] & 0x00000001u) != 0;
1369  return value;
1370 }
1371 inline bool NanoPBOptions::has_callback_datatype() const {
1372  return _internal_has_callback_datatype();
1373 }
1374 inline void NanoPBOptions::clear_callback_datatype() {
1375  callback_datatype_.ClearToDefault(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(), GetArena());
1376  _has_bits_[0] &= ~0x00000001u;
1377 }
1378 inline const std::string& NanoPBOptions::callback_datatype() const {
1379  // @@protoc_insertion_point(field_get:NanoPBOptions.callback_datatype)
1380  return _internal_callback_datatype();
1381 }
1382 inline void NanoPBOptions::set_callback_datatype(const std::string& value) {
1383  _internal_set_callback_datatype(value);
1384  // @@protoc_insertion_point(field_set:NanoPBOptions.callback_datatype)
1385 }
1386 inline std::string* NanoPBOptions::mutable_callback_datatype() {
1387  // @@protoc_insertion_point(field_mutable:NanoPBOptions.callback_datatype)
1388  return _internal_mutable_callback_datatype();
1389 }
1390 inline const std::string& NanoPBOptions::_internal_callback_datatype() const {
1391  return callback_datatype_.Get();
1392 }
1393 inline void NanoPBOptions::_internal_set_callback_datatype(const std::string& value) {
1394  _has_bits_[0] |= 0x00000001u;
1395  callback_datatype_.Set(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(), value, GetArena());
1396 }
1397 inline void NanoPBOptions::set_callback_datatype(std::string&& value) {
1398  _has_bits_[0] |= 0x00000001u;
1399  callback_datatype_.Set(
1400  &::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(), ::std::move(value), GetArena());
1401  // @@protoc_insertion_point(field_set_rvalue:NanoPBOptions.callback_datatype)
1402 }
1403 inline void NanoPBOptions::set_callback_datatype(const char* value) {
1404  GOOGLE_DCHECK(value != nullptr);
1405  _has_bits_[0] |= 0x00000001u;
1406  callback_datatype_.Set(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(), ::std::string(value),
1407  GetArena());
1408  // @@protoc_insertion_point(field_set_char:NanoPBOptions.callback_datatype)
1409 }
1410 inline void NanoPBOptions::set_callback_datatype(const char* value,
1411  size_t size) {
1412  _has_bits_[0] |= 0x00000001u;
1413  callback_datatype_.Set(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(), ::std::string(
1414  reinterpret_cast<const char*>(value), size), GetArena());
1415  // @@protoc_insertion_point(field_set_pointer:NanoPBOptions.callback_datatype)
1416 }
1417 inline std::string* NanoPBOptions::_internal_mutable_callback_datatype() {
1418  _has_bits_[0] |= 0x00000001u;
1419  return callback_datatype_.Mutable(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(), GetArena());
1420 }
1421 inline std::string* NanoPBOptions::release_callback_datatype() {
1422  // @@protoc_insertion_point(field_release:NanoPBOptions.callback_datatype)
1423  if (!_internal_has_callback_datatype()) {
1424  return nullptr;
1425  }
1426  _has_bits_[0] &= ~0x00000001u;
1427  return callback_datatype_.ReleaseNonDefault(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(), GetArena());
1428 }
1429 inline void NanoPBOptions::set_allocated_callback_datatype(std::string* callback_datatype) {
1430  if (callback_datatype != nullptr) {
1431  _has_bits_[0] |= 0x00000001u;
1432  } else {
1433  _has_bits_[0] &= ~0x00000001u;
1434  }
1435  callback_datatype_.SetAllocated(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(), callback_datatype,
1436  GetArena());
1437  // @@protoc_insertion_point(field_set_allocated:NanoPBOptions.callback_datatype)
1438 }
1439 inline std::string* NanoPBOptions::unsafe_arena_release_callback_datatype() {
1440  // @@protoc_insertion_point(field_unsafe_arena_release:NanoPBOptions.callback_datatype)
1441  GOOGLE_DCHECK(GetArena() != nullptr);
1442  _has_bits_[0] &= ~0x00000001u;
1443  return callback_datatype_.UnsafeArenaRelease(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(),
1444  GetArena());
1445 }
1446 inline void NanoPBOptions::unsafe_arena_set_allocated_callback_datatype(
1447  std::string* callback_datatype) {
1448  GOOGLE_DCHECK(GetArena() != nullptr);
1449  if (callback_datatype != nullptr) {
1450  _has_bits_[0] |= 0x00000001u;
1451  } else {
1452  _has_bits_[0] &= ~0x00000001u;
1453  }
1454  callback_datatype_.UnsafeArenaSetAllocated(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_datatype_.get(),
1455  callback_datatype, GetArena());
1456  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:NanoPBOptions.callback_datatype)
1457 }
1458 
1459 // optional string callback_function = 19 [default = "pb_default_field_callback"];
1460 inline bool NanoPBOptions::_internal_has_callback_function() const {
1461  bool value = (_has_bits_[0] & 0x00000002u) != 0;
1462  return value;
1463 }
1464 inline bool NanoPBOptions::has_callback_function() const {
1465  return _internal_has_callback_function();
1466 }
1467 inline void NanoPBOptions::clear_callback_function() {
1468  callback_function_.ClearToDefault(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(), GetArena());
1469  _has_bits_[0] &= ~0x00000002u;
1470 }
1471 inline const std::string& NanoPBOptions::callback_function() const {
1472  // @@protoc_insertion_point(field_get:NanoPBOptions.callback_function)
1473  return _internal_callback_function();
1474 }
1475 inline void NanoPBOptions::set_callback_function(const std::string& value) {
1476  _internal_set_callback_function(value);
1477  // @@protoc_insertion_point(field_set:NanoPBOptions.callback_function)
1478 }
1479 inline std::string* NanoPBOptions::mutable_callback_function() {
1480  // @@protoc_insertion_point(field_mutable:NanoPBOptions.callback_function)
1481  return _internal_mutable_callback_function();
1482 }
1483 inline const std::string& NanoPBOptions::_internal_callback_function() const {
1484  return callback_function_.Get();
1485 }
1486 inline void NanoPBOptions::_internal_set_callback_function(const std::string& value) {
1487  _has_bits_[0] |= 0x00000002u;
1488  callback_function_.Set(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(), value, GetArena());
1489 }
1490 inline void NanoPBOptions::set_callback_function(std::string&& value) {
1491  _has_bits_[0] |= 0x00000002u;
1492  callback_function_.Set(
1493  &::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(), ::std::move(value), GetArena());
1494  // @@protoc_insertion_point(field_set_rvalue:NanoPBOptions.callback_function)
1495 }
1496 inline void NanoPBOptions::set_callback_function(const char* value) {
1497  GOOGLE_DCHECK(value != nullptr);
1498  _has_bits_[0] |= 0x00000002u;
1499  callback_function_.Set(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(), ::std::string(value),
1500  GetArena());
1501  // @@protoc_insertion_point(field_set_char:NanoPBOptions.callback_function)
1502 }
1503 inline void NanoPBOptions::set_callback_function(const char* value,
1504  size_t size) {
1505  _has_bits_[0] |= 0x00000002u;
1506  callback_function_.Set(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(), ::std::string(
1507  reinterpret_cast<const char*>(value), size), GetArena());
1508  // @@protoc_insertion_point(field_set_pointer:NanoPBOptions.callback_function)
1509 }
1510 inline std::string* NanoPBOptions::_internal_mutable_callback_function() {
1511  _has_bits_[0] |= 0x00000002u;
1512  return callback_function_.Mutable(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(), GetArena());
1513 }
1514 inline std::string* NanoPBOptions::release_callback_function() {
1515  // @@protoc_insertion_point(field_release:NanoPBOptions.callback_function)
1516  if (!_internal_has_callback_function()) {
1517  return nullptr;
1518  }
1519  _has_bits_[0] &= ~0x00000002u;
1520  return callback_function_.ReleaseNonDefault(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(), GetArena());
1521 }
1522 inline void NanoPBOptions::set_allocated_callback_function(std::string* callback_function) {
1523  if (callback_function != nullptr) {
1524  _has_bits_[0] |= 0x00000002u;
1525  } else {
1526  _has_bits_[0] &= ~0x00000002u;
1527  }
1528  callback_function_.SetAllocated(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(), callback_function,
1529  GetArena());
1530  // @@protoc_insertion_point(field_set_allocated:NanoPBOptions.callback_function)
1531 }
1532 inline std::string* NanoPBOptions::unsafe_arena_release_callback_function() {
1533  // @@protoc_insertion_point(field_unsafe_arena_release:NanoPBOptions.callback_function)
1534  GOOGLE_DCHECK(GetArena() != nullptr);
1535  _has_bits_[0] &= ~0x00000002u;
1536  return callback_function_.UnsafeArenaRelease(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(),
1537  GetArena());
1538 }
1539 inline void NanoPBOptions::unsafe_arena_set_allocated_callback_function(
1540  std::string* callback_function) {
1541  GOOGLE_DCHECK(GetArena() != nullptr);
1542  if (callback_function != nullptr) {
1543  _has_bits_[0] |= 0x00000002u;
1544  } else {
1545  _has_bits_[0] &= ~0x00000002u;
1546  }
1547  callback_function_.UnsafeArenaSetAllocated(&::NanoPBOptions::_i_give_permission_to_break_this_code_default_callback_function_.get(),
1548  callback_function, GetArena());
1549  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:NanoPBOptions.callback_function)
1550 }
1551 
1552 // optional .DescriptorSize descriptorsize = 20 [default = DS_AUTO];
1553 inline bool NanoPBOptions::_internal_has_descriptorsize() const {
1554  bool value = (_has_bits_[0] & 0x00400000u) != 0;
1555  return value;
1556 }
1557 inline bool NanoPBOptions::has_descriptorsize() const {
1558  return _internal_has_descriptorsize();
1559 }
1560 inline void NanoPBOptions::clear_descriptorsize() {
1561  descriptorsize_ = 0;
1562  _has_bits_[0] &= ~0x00400000u;
1563 }
1564 inline ::DescriptorSize NanoPBOptions::_internal_descriptorsize() const {
1565  return static_cast< ::DescriptorSize >(descriptorsize_);
1566 }
1567 inline ::DescriptorSize NanoPBOptions::descriptorsize() const {
1568  // @@protoc_insertion_point(field_get:NanoPBOptions.descriptorsize)
1569  return _internal_descriptorsize();
1570 }
1571 inline void NanoPBOptions::_internal_set_descriptorsize(::DescriptorSize value) {
1572  assert(::DescriptorSize_IsValid(value));
1573  _has_bits_[0] |= 0x00400000u;
1574  descriptorsize_ = value;
1575 }
1576 inline void NanoPBOptions::set_descriptorsize(::DescriptorSize value) {
1577  _internal_set_descriptorsize(value);
1578  // @@protoc_insertion_point(field_set:NanoPBOptions.descriptorsize)
1579 }
1580 
1581 // optional bool default_has = 23 [default = false];
1582 inline bool NanoPBOptions::_internal_has_default_has() const {
1583  bool value = (_has_bits_[0] & 0x00200000u) != 0;
1584  return value;
1585 }
1586 inline bool NanoPBOptions::has_default_has() const {
1587  return _internal_has_default_has();
1588 }
1589 inline void NanoPBOptions::clear_default_has() {
1590  default_has_ = false;
1591  _has_bits_[0] &= ~0x00200000u;
1592 }
1593 inline bool NanoPBOptions::_internal_default_has() const {
1594  return default_has_;
1595 }
1596 inline bool NanoPBOptions::default_has() const {
1597  // @@protoc_insertion_point(field_get:NanoPBOptions.default_has)
1598  return _internal_default_has();
1599 }
1600 inline void NanoPBOptions::_internal_set_default_has(bool value) {
1601  _has_bits_[0] |= 0x00200000u;
1602  default_has_ = value;
1603 }
1604 inline void NanoPBOptions::set_default_has(bool value) {
1605  _internal_set_default_has(value);
1606  // @@protoc_insertion_point(field_set:NanoPBOptions.default_has)
1607 }
1608 
1609 // repeated string include = 24;
1610 inline int NanoPBOptions::_internal_include_size() const {
1611  return include_.size();
1612 }
1613 inline int NanoPBOptions::include_size() const {
1614  return _internal_include_size();
1615 }
1616 inline void NanoPBOptions::clear_include() {
1617  include_.Clear();
1618 }
1619 inline std::string* NanoPBOptions::add_include() {
1620  // @@protoc_insertion_point(field_add_mutable:NanoPBOptions.include)
1621  return _internal_add_include();
1622 }
1623 inline const std::string& NanoPBOptions::_internal_include(int index) const {
1624  return include_.Get(index);
1625 }
1626 inline const std::string& NanoPBOptions::include(int index) const {
1627  // @@protoc_insertion_point(field_get:NanoPBOptions.include)
1628  return _internal_include(index);
1629 }
1630 inline std::string* NanoPBOptions::mutable_include(int index) {
1631  // @@protoc_insertion_point(field_mutable:NanoPBOptions.include)
1632  return include_.Mutable(index);
1633 }
1634 inline void NanoPBOptions::set_include(int index, const std::string& value) {
1635  // @@protoc_insertion_point(field_set:NanoPBOptions.include)
1636  include_.Mutable(index)->assign(value);
1637 }
1638 inline void NanoPBOptions::set_include(int index, std::string&& value) {
1639  // @@protoc_insertion_point(field_set:NanoPBOptions.include)
1640  include_.Mutable(index)->assign(std::move(value));
1641 }
1642 inline void NanoPBOptions::set_include(int index, const char* value) {
1643  GOOGLE_DCHECK(value != nullptr);
1644  include_.Mutable(index)->assign(value);
1645  // @@protoc_insertion_point(field_set_char:NanoPBOptions.include)
1646 }
1647 inline void NanoPBOptions::set_include(int index, const char* value, size_t size) {
1648  include_.Mutable(index)->assign(
1649  reinterpret_cast<const char*>(value), size);
1650  // @@protoc_insertion_point(field_set_pointer:NanoPBOptions.include)
1651 }
1652 inline std::string* NanoPBOptions::_internal_add_include() {
1653  return include_.Add();
1654 }
1655 inline void NanoPBOptions::add_include(const std::string& value) {
1656  include_.Add()->assign(value);
1657  // @@protoc_insertion_point(field_add:NanoPBOptions.include)
1658 }
1659 inline void NanoPBOptions::add_include(std::string&& value) {
1660  include_.Add(std::move(value));
1661  // @@protoc_insertion_point(field_add:NanoPBOptions.include)
1662 }
1663 inline void NanoPBOptions::add_include(const char* value) {
1664  GOOGLE_DCHECK(value != nullptr);
1665  include_.Add()->assign(value);
1666  // @@protoc_insertion_point(field_add_char:NanoPBOptions.include)
1667 }
1668 inline void NanoPBOptions::add_include(const char* value, size_t size) {
1669  include_.Add()->assign(reinterpret_cast<const char*>(value), size);
1670  // @@protoc_insertion_point(field_add_pointer:NanoPBOptions.include)
1671 }
1672 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
1673 NanoPBOptions::include() const {
1674  // @@protoc_insertion_point(field_list:NanoPBOptions.include)
1675  return include_;
1676 }
1677 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
1678 NanoPBOptions::mutable_include() {
1679  // @@protoc_insertion_point(field_mutable_list:NanoPBOptions.include)
1680  return &include_;
1681 }
1682 
1683 // repeated string exclude = 26;
1684 inline int NanoPBOptions::_internal_exclude_size() const {
1685  return exclude_.size();
1686 }
1687 inline int NanoPBOptions::exclude_size() const {
1688  return _internal_exclude_size();
1689 }
1690 inline void NanoPBOptions::clear_exclude() {
1691  exclude_.Clear();
1692 }
1693 inline std::string* NanoPBOptions::add_exclude() {
1694  // @@protoc_insertion_point(field_add_mutable:NanoPBOptions.exclude)
1695  return _internal_add_exclude();
1696 }
1697 inline const std::string& NanoPBOptions::_internal_exclude(int index) const {
1698  return exclude_.Get(index);
1699 }
1700 inline const std::string& NanoPBOptions::exclude(int index) const {
1701  // @@protoc_insertion_point(field_get:NanoPBOptions.exclude)
1702  return _internal_exclude(index);
1703 }
1704 inline std::string* NanoPBOptions::mutable_exclude(int index) {
1705  // @@protoc_insertion_point(field_mutable:NanoPBOptions.exclude)
1706  return exclude_.Mutable(index);
1707 }
1708 inline void NanoPBOptions::set_exclude(int index, const std::string& value) {
1709  // @@protoc_insertion_point(field_set:NanoPBOptions.exclude)
1710  exclude_.Mutable(index)->assign(value);
1711 }
1712 inline void NanoPBOptions::set_exclude(int index, std::string&& value) {
1713  // @@protoc_insertion_point(field_set:NanoPBOptions.exclude)
1714  exclude_.Mutable(index)->assign(std::move(value));
1715 }
1716 inline void NanoPBOptions::set_exclude(int index, const char* value) {
1717  GOOGLE_DCHECK(value != nullptr);
1718  exclude_.Mutable(index)->assign(value);
1719  // @@protoc_insertion_point(field_set_char:NanoPBOptions.exclude)
1720 }
1721 inline void NanoPBOptions::set_exclude(int index, const char* value, size_t size) {
1722  exclude_.Mutable(index)->assign(
1723  reinterpret_cast<const char*>(value), size);
1724  // @@protoc_insertion_point(field_set_pointer:NanoPBOptions.exclude)
1725 }
1726 inline std::string* NanoPBOptions::_internal_add_exclude() {
1727  return exclude_.Add();
1728 }
1729 inline void NanoPBOptions::add_exclude(const std::string& value) {
1730  exclude_.Add()->assign(value);
1731  // @@protoc_insertion_point(field_add:NanoPBOptions.exclude)
1732 }
1733 inline void NanoPBOptions::add_exclude(std::string&& value) {
1734  exclude_.Add(std::move(value));
1735  // @@protoc_insertion_point(field_add:NanoPBOptions.exclude)
1736 }
1737 inline void NanoPBOptions::add_exclude(const char* value) {
1738  GOOGLE_DCHECK(value != nullptr);
1739  exclude_.Add()->assign(value);
1740  // @@protoc_insertion_point(field_add_char:NanoPBOptions.exclude)
1741 }
1742 inline void NanoPBOptions::add_exclude(const char* value, size_t size) {
1743  exclude_.Add()->assign(reinterpret_cast<const char*>(value), size);
1744  // @@protoc_insertion_point(field_add_pointer:NanoPBOptions.exclude)
1745 }
1746 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
1747 NanoPBOptions::exclude() const {
1748  // @@protoc_insertion_point(field_list:NanoPBOptions.exclude)
1749  return exclude_;
1750 }
1751 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
1752 NanoPBOptions::mutable_exclude() {
1753  // @@protoc_insertion_point(field_mutable_list:NanoPBOptions.exclude)
1754  return &exclude_;
1755 }
1756 
1757 // optional string package = 25;
1758 inline bool NanoPBOptions::_internal_has_package() const {
1759  bool value = (_has_bits_[0] & 0x00000004u) != 0;
1760  return value;
1761 }
1762 inline bool NanoPBOptions::has_package() const {
1763  return _internal_has_package();
1764 }
1765 inline void NanoPBOptions::clear_package() {
1766  package_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1767  _has_bits_[0] &= ~0x00000004u;
1768 }
1769 inline const std::string& NanoPBOptions::package() const {
1770  // @@protoc_insertion_point(field_get:NanoPBOptions.package)
1771  return _internal_package();
1772 }
1773 inline void NanoPBOptions::set_package(const std::string& value) {
1774  _internal_set_package(value);
1775  // @@protoc_insertion_point(field_set:NanoPBOptions.package)
1776 }
1777 inline std::string* NanoPBOptions::mutable_package() {
1778  // @@protoc_insertion_point(field_mutable:NanoPBOptions.package)
1779  return _internal_mutable_package();
1780 }
1781 inline const std::string& NanoPBOptions::_internal_package() const {
1782  return package_.Get();
1783 }
1784 inline void NanoPBOptions::_internal_set_package(const std::string& value) {
1785  _has_bits_[0] |= 0x00000004u;
1786  package_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
1787 }
1788 inline void NanoPBOptions::set_package(std::string&& value) {
1789  _has_bits_[0] |= 0x00000004u;
1790  package_.Set(
1791  &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
1792  // @@protoc_insertion_point(field_set_rvalue:NanoPBOptions.package)
1793 }
1794 inline void NanoPBOptions::set_package(const char* value) {
1795  GOOGLE_DCHECK(value != nullptr);
1796  _has_bits_[0] |= 0x00000004u;
1797  package_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
1798  GetArena());
1799  // @@protoc_insertion_point(field_set_char:NanoPBOptions.package)
1800 }
1801 inline void NanoPBOptions::set_package(const char* value,
1802  size_t size) {
1803  _has_bits_[0] |= 0x00000004u;
1804  package_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
1805  reinterpret_cast<const char*>(value), size), GetArena());
1806  // @@protoc_insertion_point(field_set_pointer:NanoPBOptions.package)
1807 }
1808 inline std::string* NanoPBOptions::_internal_mutable_package() {
1809  _has_bits_[0] |= 0x00000004u;
1810  return package_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1811 }
1812 inline std::string* NanoPBOptions::release_package() {
1813  // @@protoc_insertion_point(field_release:NanoPBOptions.package)
1814  if (!_internal_has_package()) {
1815  return nullptr;
1816  }
1817  _has_bits_[0] &= ~0x00000004u;
1818  return package_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1819 }
1820 inline void NanoPBOptions::set_allocated_package(std::string* package) {
1821  if (package != nullptr) {
1822  _has_bits_[0] |= 0x00000004u;
1823  } else {
1824  _has_bits_[0] &= ~0x00000004u;
1825  }
1826  package_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), package,
1827  GetArena());
1828  // @@protoc_insertion_point(field_set_allocated:NanoPBOptions.package)
1829 }
1830 inline std::string* NanoPBOptions::unsafe_arena_release_package() {
1831  // @@protoc_insertion_point(field_unsafe_arena_release:NanoPBOptions.package)
1832  GOOGLE_DCHECK(GetArena() != nullptr);
1833  _has_bits_[0] &= ~0x00000004u;
1834  return package_.UnsafeArenaRelease(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1835  GetArena());
1836 }
1837 inline void NanoPBOptions::unsafe_arena_set_allocated_package(
1838  std::string* package) {
1839  GOOGLE_DCHECK(GetArena() != nullptr);
1840  if (package != nullptr) {
1841  _has_bits_[0] |= 0x00000004u;
1842  } else {
1843  _has_bits_[0] &= ~0x00000004u;
1844  }
1845  package_.UnsafeArenaSetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1846  package, GetArena());
1847  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:NanoPBOptions.package)
1848 }
1849 
1850 // optional .google.protobuf.FieldDescriptorProto.Type type_override = 27;
1851 inline bool NanoPBOptions::_internal_has_type_override() const {
1852  bool value = (_has_bits_[0] & 0x02000000u) != 0;
1853  return value;
1854 }
1855 inline bool NanoPBOptions::has_type_override() const {
1856  return _internal_has_type_override();
1857 }
1858 inline void NanoPBOptions::clear_type_override() {
1859  type_override_ = 1;
1860  _has_bits_[0] &= ~0x02000000u;
1861 }
1862 inline PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type NanoPBOptions::_internal_type_override() const {
1863  return static_cast< PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type >(type_override_);
1864 }
1865 inline PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type NanoPBOptions::type_override() const {
1866  // @@protoc_insertion_point(field_get:NanoPBOptions.type_override)
1867  return _internal_type_override();
1868 }
1869 inline void NanoPBOptions::_internal_set_type_override(PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type value) {
1870  assert(PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type_IsValid(value));
1871  _has_bits_[0] |= 0x02000000u;
1872  type_override_ = value;
1873 }
1874 inline void NanoPBOptions::set_type_override(PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type value) {
1875  _internal_set_type_override(value);
1876  // @@protoc_insertion_point(field_set:NanoPBOptions.type_override)
1877 }
1878 
1879 // optional bool sort_by_tag = 28 [default = true];
1880 inline bool NanoPBOptions::_internal_has_sort_by_tag() const {
1881  bool value = (_has_bits_[0] & 0x01000000u) != 0;
1882  return value;
1883 }
1884 inline bool NanoPBOptions::has_sort_by_tag() const {
1885  return _internal_has_sort_by_tag();
1886 }
1887 inline void NanoPBOptions::clear_sort_by_tag() {
1888  sort_by_tag_ = true;
1889  _has_bits_[0] &= ~0x01000000u;
1890 }
1891 inline bool NanoPBOptions::_internal_sort_by_tag() const {
1892  return sort_by_tag_;
1893 }
1894 inline bool NanoPBOptions::sort_by_tag() const {
1895  // @@protoc_insertion_point(field_get:NanoPBOptions.sort_by_tag)
1896  return _internal_sort_by_tag();
1897 }
1898 inline void NanoPBOptions::_internal_set_sort_by_tag(bool value) {
1899  _has_bits_[0] |= 0x01000000u;
1900  sort_by_tag_ = value;
1901 }
1902 inline void NanoPBOptions::set_sort_by_tag(bool value) {
1903  _internal_set_sort_by_tag(value);
1904  // @@protoc_insertion_point(field_set:NanoPBOptions.sort_by_tag)
1905 }
1906 
1907 #ifdef __GNUC__
1908  #pragma GCC diagnostic pop
1909 #endif // __GNUC__
1910 
1911 // @@protoc_insertion_point(namespace_scope)
1912 
1913 
1914 PROTOBUF_NAMESPACE_OPEN
1915 
1916 template <> struct is_proto_enum< ::FieldType> : ::std::true_type {};
1917 template <>
1918 inline const EnumDescriptor* GetEnumDescriptor< ::FieldType>() {
1920 }
1921 template <> struct is_proto_enum< ::IntSize> : ::std::true_type {};
1922 template <>
1923 inline const EnumDescriptor* GetEnumDescriptor< ::IntSize>() {
1925 }
1926 template <> struct is_proto_enum< ::TypenameMangling> : ::std::true_type {};
1927 template <>
1928 inline const EnumDescriptor* GetEnumDescriptor< ::TypenameMangling>() {
1930 }
1931 template <> struct is_proto_enum< ::DescriptorSize> : ::std::true_type {};
1932 template <>
1933 inline const EnumDescriptor* GetEnumDescriptor< ::DescriptorSize>() {
1935 }
1936 
1937 PROTOBUF_NAMESPACE_CLOSE
1938 
1939 // @@protoc_insertion_point(global_scope)
1940 
1941 #include <google/protobuf/port_undef.inc>
1942 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_nanopb_2eproto
std::string * mutable_callback_datatype()
void clear_exclude()
void add_exclude(const char *value, size_t size)
void clear_include()
const std::string & callback_datatype() const
NanoPBOptions & operator=(const NanoPBOptions &from)
Definition: nanopb.pb.h:188
void CopyFrom(const NanoPBOptions &from)
void set_callback_datatype(const char *value)
virtual ~NanoPBOptions()
NanoPBOptions & operator=(NanoPBOptions &&from) noexcept
Definition: nanopb.pb.h:192
bool has_callback_datatype() const
void set_allocated_callback_datatype(std::string *callback_datatype)
NanoPBOptions(NanoPBOptions &&from) noexcept
Definition: nanopb.pb.h:183
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition: nanopb.pb.h:201
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > * mutable_include()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: nanopb.pb.h:208
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
std::string * mutable_exclude(int index)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: nanopb.pb.h:211
void set_exclude(int index, std::string &&value)
int include_size() const
void set_callback_datatype(const char *value, size_t size)
std::string * add_exclude()
void clear_callback_datatype()
void set_exclude(int index, const std::string &value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > & exclude() const
void add_exclude(const std::string &value)
void set_include(int index, const char *value)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > * mutable_exclude()
void set_exclude(int index, const char *value, size_t size)
const std::string & exclude(int index) const
std::string * mutable_include(int index)
void set_exclude(int index, const char *value)
void add_include(const std::string &value)
void set_callback_datatype(std::string &&value)
void add_include(std::string &&value)
void set_include(int index, const std::string &value)
static const NanoPBOptions * internal_default_instance()
Definition: nanopb.pb.h:220
NanoPBOptions(const NanoPBOptions &from)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: nanopb.pb.h:214
std::string * add_include()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const std::string & include(int index) const
std::string * release_callback_datatype()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< std::string > & include() const
void MergeFrom(const NanoPBOptions &from)
int exclude_size() const
NanoPBOptions * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: nanopb.pb.h:250
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition: nanopb.pb.h:204
void set_include(int index, std::string &&value)
void add_include(const char *value, size_t size)
void Swap(NanoPBOptions *other)
Definition: nanopb.pb.h:230
void add_exclude(const char *value)
friend void swap(NanoPBOptions &a, NanoPBOptions &b)
Definition: nanopb.pb.h:227
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
NanoPBOptions * New() const final
Definition: nanopb.pb.h:246
static void InitAsDefaultInstance()
static const NanoPBOptions & default_instance()
void add_include(const char *value)
void add_exclude(std::string &&value)
void UnsafeArenaSwap(NanoPBOptions *other)
Definition: nanopb.pb.h:238
void set_include(int index, const char *value, size_t size)
void set_callback_datatype(const std::string &value)
NanoPBOptions(::PROTOBUF_NAMESPACE_ID::Arena *arena)
IntSize
Definition: nanopb.pb.h:97
@ IS_64
Definition: nanopb.pb.h:102
@ IS_16
Definition: nanopb.pb.h:100
@ IS_8
Definition: nanopb.pb.h:99
@ IS_32
Definition: nanopb.pb.h:101
@ IS_DEFAULT
Definition: nanopb.pb.h:98
TypenameMangling
Definition: nanopb.pb.h:123
@ M_STRIP_PACKAGE
Definition: nanopb.pb.h:125
@ M_PACKAGE_INITIALS
Definition: nanopb.pb.h:127
@ M_FLATTEN
Definition: nanopb.pb.h:126
@ M_NONE
Definition: nanopb.pb.h:124
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::EnumOptions, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::NanoPBOptions >, 11, false > nanopb_enumopt
Definition: nanopb.pb.h:817
DescriptorSize
Definition: nanopb.pb.h:148
@ DS_1
Definition: nanopb.pb.h:150
@ DS_2
Definition: nanopb.pb.h:151
@ DS_4
Definition: nanopb.pb.h:152
@ DS_8
Definition: nanopb.pb.h:153
@ DS_AUTO
Definition: nanopb.pb.h:149
bool TypenameMangling_Parse(const std::string &name, TypenameMangling *value)
Definition: nanopb.pb.h:143
bool FieldType_Parse(const std::string &name, FieldType *value)
Definition: nanopb.pb.h:92
const std::string & TypenameMangling_Name(T enum_t_value)
Definition: nanopb.pb.h:136
NanoPBOptionsDefaultTypeInternal _NanoPBOptions_default_instance_
bool IntSize_Parse(const std::string &name, IntSize *value)
Definition: nanopb.pb.h:118
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_nanopb_2eproto
bool DescriptorSize_IsValid(int value)
constexpr FieldType FieldType_MIN
Definition: nanopb.pb.h:79
static const int kNanopbMsgoptFieldNumber
Definition: nanopb.pb.h:810
constexpr FieldType FieldType_MAX
Definition: nanopb.pb.h:80
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::FileOptions, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::NanoPBOptions >, 11, false > nanopb_fileopt
Definition: nanopb.pb.h:809
constexpr int IntSize_ARRAYSIZE
Definition: nanopb.pb.h:107
const std::string & DescriptorSize_Name(T enum_t_value)
Definition: nanopb.pb.h:162
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::MessageOptions, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::NanoPBOptions >, 11, false > nanopb_msgopt
Definition: nanopb.pb.h:813
const std::string & FieldType_Name(T enum_t_value)
Definition: nanopb.pb.h:85
constexpr int FieldType_ARRAYSIZE
Definition: nanopb.pb.h:81
static const int kNanopbFileoptFieldNumber
Definition: nanopb.pb.h:806
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * IntSize_descriptor()
constexpr DescriptorSize DescriptorSize_MAX
Definition: nanopb.pb.h:157
const std::string & IntSize_Name(T enum_t_value)
Definition: nanopb.pb.h:111
FieldType
Definition: nanopb.pb.h:70
@ FT_POINTER
Definition: nanopb.pb.h:73
@ FT_CALLBACK
Definition: nanopb.pb.h:72
@ FT_STATIC
Definition: nanopb.pb.h:74
@ FT_INLINE
Definition: nanopb.pb.h:76
@ FT_DEFAULT
Definition: nanopb.pb.h:71
@ FT_IGNORE
Definition: nanopb.pb.h:75
constexpr TypenameMangling TypenameMangling_MIN
Definition: nanopb.pb.h:130
bool IntSize_IsValid(int value)
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::google::protobuf::FieldOptions, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::NanoPBOptions >, 11, false > nanopb
Definition: nanopb.pb.h:821
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * FieldType_descriptor()
constexpr DescriptorSize DescriptorSize_MIN
Definition: nanopb.pb.h:156
static const int kNanopbFieldNumber
Definition: nanopb.pb.h:818
constexpr IntSize IntSize_MIN
Definition: nanopb.pb.h:105
bool TypenameMangling_IsValid(int value)
bool FieldType_IsValid(int value)
bool DescriptorSize_Parse(const std::string &name, DescriptorSize *value)
Definition: nanopb.pb.h:169
constexpr int TypenameMangling_ARRAYSIZE
Definition: nanopb.pb.h:132
constexpr TypenameMangling TypenameMangling_MAX
Definition: nanopb.pb.h:131
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * TypenameMangling_descriptor()
constexpr IntSize IntSize_MAX
Definition: nanopb.pb.h:106
static const int kNanopbEnumoptFieldNumber
Definition: nanopb.pb.h:814
constexpr int DescriptorSize_ARRAYSIZE
Definition: nanopb.pb.h:158
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DescriptorSize_descriptor()
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: nanopb.pb.h:58
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: nanopb.pb.h:59
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: nanopb.pb.h:60