• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
2 // source: phonemetadata.proto
3 
4 #include "phonemetadata.pb.h"
5 
6 #include <algorithm>
7 
8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/io/zero_copy_stream_impl_lite.h>
12 // @@protoc_insertion_point(includes)
13 #include <google/protobuf/port_def.inc>
14 extern PROTOBUF_INTERNAL_EXPORT_phonemetadata_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_NumberFormat_phonemetadata_2eproto;
15 extern PROTOBUF_INTERNAL_EXPORT_phonemetadata_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_PhoneMetadata_phonemetadata_2eproto;
16 extern PROTOBUF_INTERNAL_EXPORT_phonemetadata_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PhoneNumberDesc_phonemetadata_2eproto;
17 namespace i18n {
18 namespace phonenumbers {
19 class NumberFormatDefaultTypeInternal {
20  public:
21   ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<NumberFormat> _instance;
22 } _NumberFormat_default_instance_;
23 class PhoneNumberDescDefaultTypeInternal {
24  public:
25   ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PhoneNumberDesc> _instance;
26 } _PhoneNumberDesc_default_instance_;
27 class PhoneMetadataDefaultTypeInternal {
28  public:
29   ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PhoneMetadata> _instance;
30 } _PhoneMetadata_default_instance_;
31 class PhoneMetadataCollectionDefaultTypeInternal {
32  public:
33   ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PhoneMetadataCollection> _instance;
34 } _PhoneMetadataCollection_default_instance_;
35 }  // namespace phonenumbers
36 }  // namespace i18n
InitDefaultsscc_info_NumberFormat_phonemetadata_2eproto()37 static void InitDefaultsscc_info_NumberFormat_phonemetadata_2eproto() {
38   GOOGLE_PROTOBUF_VERIFY_VERSION;
39 
40   {
41     void* ptr = &::i18n::phonenumbers::_NumberFormat_default_instance_;
42     new (ptr) ::i18n::phonenumbers::NumberFormat();
43     ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
44   }
45   ::i18n::phonenumbers::NumberFormat::InitAsDefaultInstance();
46 }
47 
48 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_NumberFormat_phonemetadata_2eproto =
49     {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_NumberFormat_phonemetadata_2eproto}, {}};
50 
InitDefaultsscc_info_PhoneMetadata_phonemetadata_2eproto()51 static void InitDefaultsscc_info_PhoneMetadata_phonemetadata_2eproto() {
52   GOOGLE_PROTOBUF_VERIFY_VERSION;
53 
54   {
55     void* ptr = &::i18n::phonenumbers::_PhoneMetadata_default_instance_;
56     new (ptr) ::i18n::phonenumbers::PhoneMetadata();
57     ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
58   }
59   ::i18n::phonenumbers::PhoneMetadata::InitAsDefaultInstance();
60 }
61 
62 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_PhoneMetadata_phonemetadata_2eproto =
63     {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_PhoneMetadata_phonemetadata_2eproto}, {
64       &scc_info_PhoneNumberDesc_phonemetadata_2eproto.base,
65       &scc_info_NumberFormat_phonemetadata_2eproto.base,}};
66 
InitDefaultsscc_info_PhoneMetadataCollection_phonemetadata_2eproto()67 static void InitDefaultsscc_info_PhoneMetadataCollection_phonemetadata_2eproto() {
68   GOOGLE_PROTOBUF_VERIFY_VERSION;
69 
70   {
71     void* ptr = &::i18n::phonenumbers::_PhoneMetadataCollection_default_instance_;
72     new (ptr) ::i18n::phonenumbers::PhoneMetadataCollection();
73     ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
74   }
75   ::i18n::phonenumbers::PhoneMetadataCollection::InitAsDefaultInstance();
76 }
77 
78 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_PhoneMetadataCollection_phonemetadata_2eproto =
79     {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_PhoneMetadataCollection_phonemetadata_2eproto}, {
80       &scc_info_PhoneMetadata_phonemetadata_2eproto.base,}};
81 
InitDefaultsscc_info_PhoneNumberDesc_phonemetadata_2eproto()82 static void InitDefaultsscc_info_PhoneNumberDesc_phonemetadata_2eproto() {
83   GOOGLE_PROTOBUF_VERIFY_VERSION;
84 
85   {
86     void* ptr = &::i18n::phonenumbers::_PhoneNumberDesc_default_instance_;
87     new (ptr) ::i18n::phonenumbers::PhoneNumberDesc();
88     ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
89   }
90   ::i18n::phonenumbers::PhoneNumberDesc::InitAsDefaultInstance();
91 }
92 
93 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PhoneNumberDesc_phonemetadata_2eproto =
94     {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_PhoneNumberDesc_phonemetadata_2eproto}, {}};
95 
96 namespace i18n {
97 namespace phonenumbers {
98 
99 // ===================================================================
100 
InitAsDefaultInstance()101 void NumberFormat::InitAsDefaultInstance() {
102 }
103 class NumberFormat::_Internal {
104  public:
105   using HasBits = decltype(std::declval<NumberFormat>()._has_bits_);
set_has_pattern(HasBits * has_bits)106   static void set_has_pattern(HasBits* has_bits) {
107     (*has_bits)[0] |= 1u;
108   }
set_has_format(HasBits * has_bits)109   static void set_has_format(HasBits* has_bits) {
110     (*has_bits)[0] |= 2u;
111   }
set_has_national_prefix_formatting_rule(HasBits * has_bits)112   static void set_has_national_prefix_formatting_rule(HasBits* has_bits) {
113     (*has_bits)[0] |= 4u;
114   }
set_has_national_prefix_optional_when_formatting(HasBits * has_bits)115   static void set_has_national_prefix_optional_when_formatting(HasBits* has_bits) {
116     (*has_bits)[0] |= 16u;
117   }
set_has_domestic_carrier_code_formatting_rule(HasBits * has_bits)118   static void set_has_domestic_carrier_code_formatting_rule(HasBits* has_bits) {
119     (*has_bits)[0] |= 8u;
120   }
MissingRequiredFields(const HasBits & has_bits)121   static bool MissingRequiredFields(const HasBits& has_bits) {
122     return ((has_bits[0] & 0x00000003) ^ 0x00000003) != 0;
123   }
124 };
125 
NumberFormat(::PROTOBUF_NAMESPACE_ID::Arena * arena)126 NumberFormat::NumberFormat(::PROTOBUF_NAMESPACE_ID::Arena* arena)
127   : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena),
128   leading_digits_pattern_(arena) {
129   SharedCtor();
130   RegisterArenaDtor(arena);
131   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.NumberFormat)
132 }
NumberFormat(const NumberFormat & from)133 NumberFormat::NumberFormat(const NumberFormat& from)
134   : ::PROTOBUF_NAMESPACE_ID::MessageLite(),
135       _has_bits_(from._has_bits_),
136       leading_digits_pattern_(from.leading_digits_pattern_) {
137   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
138   pattern_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
139   if (from._internal_has_pattern()) {
140     pattern_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_pattern(),
141       GetArena());
142   }
143   format_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
144   if (from._internal_has_format()) {
145     format_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_format(),
146       GetArena());
147   }
148   national_prefix_formatting_rule_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
149   if (from._internal_has_national_prefix_formatting_rule()) {
150     national_prefix_formatting_rule_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_national_prefix_formatting_rule(),
151       GetArena());
152   }
153   domestic_carrier_code_formatting_rule_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
154   if (from._internal_has_domestic_carrier_code_formatting_rule()) {
155     domestic_carrier_code_formatting_rule_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_domestic_carrier_code_formatting_rule(),
156       GetArena());
157   }
158   national_prefix_optional_when_formatting_ = from.national_prefix_optional_when_formatting_;
159   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.NumberFormat)
160 }
161 
SharedCtor()162 void NumberFormat::SharedCtor() {
163   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_NumberFormat_phonemetadata_2eproto.base);
164   pattern_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
165   format_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
166   national_prefix_formatting_rule_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
167   domestic_carrier_code_formatting_rule_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
168   national_prefix_optional_when_formatting_ = false;
169 }
170 
~NumberFormat()171 NumberFormat::~NumberFormat() {
172   // @@protoc_insertion_point(destructor:i18n.phonenumbers.NumberFormat)
173   SharedDtor();
174   _internal_metadata_.Delete<std::string>();
175 }
176 
SharedDtor()177 void NumberFormat::SharedDtor() {
178   GOOGLE_DCHECK(GetArena() == nullptr);
179   pattern_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
180   format_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
181   national_prefix_formatting_rule_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
182   domestic_carrier_code_formatting_rule_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
183 }
184 
ArenaDtor(void * object)185 void NumberFormat::ArenaDtor(void* object) {
186   NumberFormat* _this = reinterpret_cast< NumberFormat* >(object);
187   (void)_this;
188 }
RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena *)189 void NumberFormat::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
190 }
SetCachedSize(int size) const191 void NumberFormat::SetCachedSize(int size) const {
192   _cached_size_.Set(size);
193 }
default_instance()194 const NumberFormat& NumberFormat::default_instance() {
195   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_NumberFormat_phonemetadata_2eproto.base);
196   return *internal_default_instance();
197 }
198 
199 
Clear()200 void NumberFormat::Clear() {
201 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.NumberFormat)
202   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
203   // Prevent compiler warnings about cached_has_bits being unused
204   (void) cached_has_bits;
205 
206   leading_digits_pattern_.Clear();
207   cached_has_bits = _has_bits_[0];
208   if (cached_has_bits & 0x0000000fu) {
209     if (cached_has_bits & 0x00000001u) {
210       pattern_.ClearNonDefaultToEmpty();
211     }
212     if (cached_has_bits & 0x00000002u) {
213       format_.ClearNonDefaultToEmpty();
214     }
215     if (cached_has_bits & 0x00000004u) {
216       national_prefix_formatting_rule_.ClearNonDefaultToEmpty();
217     }
218     if (cached_has_bits & 0x00000008u) {
219       domestic_carrier_code_formatting_rule_.ClearNonDefaultToEmpty();
220     }
221   }
222   national_prefix_optional_when_formatting_ = false;
223   _has_bits_.Clear();
224   _internal_metadata_.Clear<std::string>();
225 }
226 
_InternalParse(const char * ptr,::PROTOBUF_NAMESPACE_ID::internal::ParseContext * ctx)227 const char* NumberFormat::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
228 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
229   _Internal::HasBits has_bits{};
230   ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
231   while (!ctx->Done(&ptr)) {
232     ::PROTOBUF_NAMESPACE_ID::uint32 tag;
233     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
234     CHK_(ptr);
235     switch (tag >> 3) {
236       // required string pattern = 1;
237       case 1:
238         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
239           auto str = _internal_mutable_pattern();
240           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
241           CHK_(ptr);
242         } else goto handle_unusual;
243         continue;
244       // required string format = 2;
245       case 2:
246         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
247           auto str = _internal_mutable_format();
248           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
249           CHK_(ptr);
250         } else goto handle_unusual;
251         continue;
252       // repeated string leading_digits_pattern = 3;
253       case 3:
254         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
255           ptr -= 1;
256           do {
257             ptr += 1;
258             auto str = _internal_add_leading_digits_pattern();
259             ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
260             CHK_(ptr);
261             if (!ctx->DataAvailable(ptr)) break;
262           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
263         } else goto handle_unusual;
264         continue;
265       // optional string national_prefix_formatting_rule = 4;
266       case 4:
267         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
268           auto str = _internal_mutable_national_prefix_formatting_rule();
269           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
270           CHK_(ptr);
271         } else goto handle_unusual;
272         continue;
273       // optional string domestic_carrier_code_formatting_rule = 5;
274       case 5:
275         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
276           auto str = _internal_mutable_domestic_carrier_code_formatting_rule();
277           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
278           CHK_(ptr);
279         } else goto handle_unusual;
280         continue;
281       // optional bool national_prefix_optional_when_formatting = 6 [default = false];
282       case 6:
283         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
284           _Internal::set_has_national_prefix_optional_when_formatting(&has_bits);
285           national_prefix_optional_when_formatting_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
286           CHK_(ptr);
287         } else goto handle_unusual;
288         continue;
289       default: {
290       handle_unusual:
291         if ((tag & 7) == 4 || tag == 0) {
292           ctx->SetLastTag(tag);
293           goto success;
294         }
295         ptr = UnknownFieldParse(tag,
296             _internal_metadata_.mutable_unknown_fields<std::string>(),
297             ptr, ctx);
298         CHK_(ptr != nullptr);
299         continue;
300       }
301     }  // switch
302   }  // while
303 success:
304   _has_bits_.Or(has_bits);
305   return ptr;
306 failure:
307   ptr = nullptr;
308   goto success;
309 #undef CHK_
310 }
311 
_InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 * target,::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream * stream) const312 ::PROTOBUF_NAMESPACE_ID::uint8* NumberFormat::_InternalSerialize(
313     ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
314   // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.NumberFormat)
315   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
316   (void) cached_has_bits;
317 
318   cached_has_bits = _has_bits_[0];
319   // required string pattern = 1;
320   if (cached_has_bits & 0x00000001u) {
321     target = stream->WriteStringMaybeAliased(
322         1, this->_internal_pattern(), target);
323   }
324 
325   // required string format = 2;
326   if (cached_has_bits & 0x00000002u) {
327     target = stream->WriteStringMaybeAliased(
328         2, this->_internal_format(), target);
329   }
330 
331   // repeated string leading_digits_pattern = 3;
332   for (int i = 0, n = this->_internal_leading_digits_pattern_size(); i < n; i++) {
333     const auto& s = this->_internal_leading_digits_pattern(i);
334     target = stream->WriteString(3, s, target);
335   }
336 
337   // optional string national_prefix_formatting_rule = 4;
338   if (cached_has_bits & 0x00000004u) {
339     target = stream->WriteStringMaybeAliased(
340         4, this->_internal_national_prefix_formatting_rule(), target);
341   }
342 
343   // optional string domestic_carrier_code_formatting_rule = 5;
344   if (cached_has_bits & 0x00000008u) {
345     target = stream->WriteStringMaybeAliased(
346         5, this->_internal_domestic_carrier_code_formatting_rule(), target);
347   }
348 
349   // optional bool national_prefix_optional_when_formatting = 6 [default = false];
350   if (cached_has_bits & 0x00000010u) {
351     target = stream->EnsureSpace(target);
352     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_national_prefix_optional_when_formatting(), target);
353   }
354 
355   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
356     target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
357         static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
358   }
359   // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.NumberFormat)
360   return target;
361 }
362 
RequiredFieldsByteSizeFallback() const363 size_t NumberFormat::RequiredFieldsByteSizeFallback() const {
364 // @@protoc_insertion_point(required_fields_byte_size_fallback_start:i18n.phonenumbers.NumberFormat)
365   size_t total_size = 0;
366 
367   if (_internal_has_pattern()) {
368     // required string pattern = 1;
369     total_size += 1 +
370       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
371         this->_internal_pattern());
372   }
373 
374   if (_internal_has_format()) {
375     // required string format = 2;
376     total_size += 1 +
377       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
378         this->_internal_format());
379   }
380 
381   return total_size;
382 }
ByteSizeLong() const383 size_t NumberFormat::ByteSizeLong() const {
384 // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.NumberFormat)
385   size_t total_size = 0;
386 
387   if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
388     // required string pattern = 1;
389     total_size += 1 +
390       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
391         this->_internal_pattern());
392 
393     // required string format = 2;
394     total_size += 1 +
395       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
396         this->_internal_format());
397 
398   } else {
399     total_size += RequiredFieldsByteSizeFallback();
400   }
401   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
402   // Prevent compiler warnings about cached_has_bits being unused
403   (void) cached_has_bits;
404 
405   // repeated string leading_digits_pattern = 3;
406   total_size += 1 *
407       ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(leading_digits_pattern_.size());
408   for (int i = 0, n = leading_digits_pattern_.size(); i < n; i++) {
409     total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
410       leading_digits_pattern_.Get(i));
411   }
412 
413   cached_has_bits = _has_bits_[0];
414   if (cached_has_bits & 0x0000001cu) {
415     // optional string national_prefix_formatting_rule = 4;
416     if (cached_has_bits & 0x00000004u) {
417       total_size += 1 +
418         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
419           this->_internal_national_prefix_formatting_rule());
420     }
421 
422     // optional string domestic_carrier_code_formatting_rule = 5;
423     if (cached_has_bits & 0x00000008u) {
424       total_size += 1 +
425         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
426           this->_internal_domestic_carrier_code_formatting_rule());
427     }
428 
429     // optional bool national_prefix_optional_when_formatting = 6 [default = false];
430     if (cached_has_bits & 0x00000010u) {
431       total_size += 1 + 1;
432     }
433 
434   }
435   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
436     total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
437   }
438   int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
439   SetCachedSize(cached_size);
440   return total_size;
441 }
442 
CheckTypeAndMergeFrom(const::PROTOBUF_NAMESPACE_ID::MessageLite & from)443 void NumberFormat::CheckTypeAndMergeFrom(
444     const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
445   MergeFrom(*::PROTOBUF_NAMESPACE_ID::internal::DownCast<const NumberFormat*>(
446       &from));
447 }
448 
MergeFrom(const NumberFormat & from)449 void NumberFormat::MergeFrom(const NumberFormat& from) {
450 // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.NumberFormat)
451   GOOGLE_DCHECK_NE(&from, this);
452   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
453   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
454   (void) cached_has_bits;
455 
456   leading_digits_pattern_.MergeFrom(from.leading_digits_pattern_);
457   cached_has_bits = from._has_bits_[0];
458   if (cached_has_bits & 0x0000001fu) {
459     if (cached_has_bits & 0x00000001u) {
460       _internal_set_pattern(from._internal_pattern());
461     }
462     if (cached_has_bits & 0x00000002u) {
463       _internal_set_format(from._internal_format());
464     }
465     if (cached_has_bits & 0x00000004u) {
466       _internal_set_national_prefix_formatting_rule(from._internal_national_prefix_formatting_rule());
467     }
468     if (cached_has_bits & 0x00000008u) {
469       _internal_set_domestic_carrier_code_formatting_rule(from._internal_domestic_carrier_code_formatting_rule());
470     }
471     if (cached_has_bits & 0x00000010u) {
472       national_prefix_optional_when_formatting_ = from.national_prefix_optional_when_formatting_;
473     }
474     _has_bits_[0] |= cached_has_bits;
475   }
476 }
477 
CopyFrom(const NumberFormat & from)478 void NumberFormat::CopyFrom(const NumberFormat& from) {
479 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.NumberFormat)
480   if (&from == this) return;
481   Clear();
482   MergeFrom(from);
483 }
484 
IsInitialized() const485 bool NumberFormat::IsInitialized() const {
486   if (_Internal::MissingRequiredFields(_has_bits_)) return false;
487   return true;
488 }
489 
InternalSwap(NumberFormat * other)490 void NumberFormat::InternalSwap(NumberFormat* other) {
491   using std::swap;
492   _internal_metadata_.Swap<std::string>(&other->_internal_metadata_);
493   swap(_has_bits_[0], other->_has_bits_[0]);
494   leading_digits_pattern_.InternalSwap(&other->leading_digits_pattern_);
495   pattern_.Swap(&other->pattern_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
496   format_.Swap(&other->format_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
497   national_prefix_formatting_rule_.Swap(&other->national_prefix_formatting_rule_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
498   domestic_carrier_code_formatting_rule_.Swap(&other->domestic_carrier_code_formatting_rule_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
499   swap(national_prefix_optional_when_formatting_, other->national_prefix_optional_when_formatting_);
500 }
501 
GetTypeName() const502 std::string NumberFormat::GetTypeName() const {
503   return "i18n.phonenumbers.NumberFormat";
504 }
505 
506 
507 // ===================================================================
508 
InitAsDefaultInstance()509 void PhoneNumberDesc::InitAsDefaultInstance() {
510 }
511 class PhoneNumberDesc::_Internal {
512  public:
513   using HasBits = decltype(std::declval<PhoneNumberDesc>()._has_bits_);
set_has_national_number_pattern(HasBits * has_bits)514   static void set_has_national_number_pattern(HasBits* has_bits) {
515     (*has_bits)[0] |= 1u;
516   }
set_has_example_number(HasBits * has_bits)517   static void set_has_example_number(HasBits* has_bits) {
518     (*has_bits)[0] |= 2u;
519   }
520 };
521 
PhoneNumberDesc(::PROTOBUF_NAMESPACE_ID::Arena * arena)522 PhoneNumberDesc::PhoneNumberDesc(::PROTOBUF_NAMESPACE_ID::Arena* arena)
523   : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena),
524   possible_length_(arena),
525   possible_length_local_only_(arena) {
526   SharedCtor();
527   RegisterArenaDtor(arena);
528   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.PhoneNumberDesc)
529 }
PhoneNumberDesc(const PhoneNumberDesc & from)530 PhoneNumberDesc::PhoneNumberDesc(const PhoneNumberDesc& from)
531   : ::PROTOBUF_NAMESPACE_ID::MessageLite(),
532       _has_bits_(from._has_bits_),
533       possible_length_(from.possible_length_),
534       possible_length_local_only_(from.possible_length_local_only_) {
535   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
536   national_number_pattern_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
537   if (from._internal_has_national_number_pattern()) {
538     national_number_pattern_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_national_number_pattern(),
539       GetArena());
540   }
541   example_number_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
542   if (from._internal_has_example_number()) {
543     example_number_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_example_number(),
544       GetArena());
545   }
546   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.PhoneNumberDesc)
547 }
548 
SharedCtor()549 void PhoneNumberDesc::SharedCtor() {
550   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_PhoneNumberDesc_phonemetadata_2eproto.base);
551   national_number_pattern_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
552   example_number_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
553 }
554 
~PhoneNumberDesc()555 PhoneNumberDesc::~PhoneNumberDesc() {
556   // @@protoc_insertion_point(destructor:i18n.phonenumbers.PhoneNumberDesc)
557   SharedDtor();
558   _internal_metadata_.Delete<std::string>();
559 }
560 
SharedDtor()561 void PhoneNumberDesc::SharedDtor() {
562   GOOGLE_DCHECK(GetArena() == nullptr);
563   national_number_pattern_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
564   example_number_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
565 }
566 
ArenaDtor(void * object)567 void PhoneNumberDesc::ArenaDtor(void* object) {
568   PhoneNumberDesc* _this = reinterpret_cast< PhoneNumberDesc* >(object);
569   (void)_this;
570 }
RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena *)571 void PhoneNumberDesc::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
572 }
SetCachedSize(int size) const573 void PhoneNumberDesc::SetCachedSize(int size) const {
574   _cached_size_.Set(size);
575 }
default_instance()576 const PhoneNumberDesc& PhoneNumberDesc::default_instance() {
577   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PhoneNumberDesc_phonemetadata_2eproto.base);
578   return *internal_default_instance();
579 }
580 
581 
Clear()582 void PhoneNumberDesc::Clear() {
583 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.PhoneNumberDesc)
584   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
585   // Prevent compiler warnings about cached_has_bits being unused
586   (void) cached_has_bits;
587 
588   possible_length_.Clear();
589   possible_length_local_only_.Clear();
590   cached_has_bits = _has_bits_[0];
591   if (cached_has_bits & 0x00000003u) {
592     if (cached_has_bits & 0x00000001u) {
593       national_number_pattern_.ClearNonDefaultToEmpty();
594     }
595     if (cached_has_bits & 0x00000002u) {
596       example_number_.ClearNonDefaultToEmpty();
597     }
598   }
599   _has_bits_.Clear();
600   _internal_metadata_.Clear<std::string>();
601 }
602 
_InternalParse(const char * ptr,::PROTOBUF_NAMESPACE_ID::internal::ParseContext * ctx)603 const char* PhoneNumberDesc::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
604 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
605   _Internal::HasBits has_bits{};
606   ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
607   while (!ctx->Done(&ptr)) {
608     ::PROTOBUF_NAMESPACE_ID::uint32 tag;
609     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
610     CHK_(ptr);
611     switch (tag >> 3) {
612       // optional string national_number_pattern = 2;
613       case 2:
614         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
615           auto str = _internal_mutable_national_number_pattern();
616           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
617           CHK_(ptr);
618         } else goto handle_unusual;
619         continue;
620       // optional string example_number = 6;
621       case 6:
622         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
623           auto str = _internal_mutable_example_number();
624           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
625           CHK_(ptr);
626         } else goto handle_unusual;
627         continue;
628       // repeated int32 possible_length = 9;
629       case 9:
630         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
631           ptr -= 1;
632           do {
633             ptr += 1;
634             _internal_add_possible_length(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
635             CHK_(ptr);
636             if (!ctx->DataAvailable(ptr)) break;
637           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<72>(ptr));
638         } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74) {
639           ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_possible_length(), ptr, ctx);
640           CHK_(ptr);
641         } else goto handle_unusual;
642         continue;
643       // repeated int32 possible_length_local_only = 10;
644       case 10:
645         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
646           ptr -= 1;
647           do {
648             ptr += 1;
649             _internal_add_possible_length_local_only(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
650             CHK_(ptr);
651             if (!ctx->DataAvailable(ptr)) break;
652           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<80>(ptr));
653         } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82) {
654           ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_possible_length_local_only(), ptr, ctx);
655           CHK_(ptr);
656         } else goto handle_unusual;
657         continue;
658       default: {
659       handle_unusual:
660         if ((tag & 7) == 4 || tag == 0) {
661           ctx->SetLastTag(tag);
662           goto success;
663         }
664         ptr = UnknownFieldParse(tag,
665             _internal_metadata_.mutable_unknown_fields<std::string>(),
666             ptr, ctx);
667         CHK_(ptr != nullptr);
668         continue;
669       }
670     }  // switch
671   }  // while
672 success:
673   _has_bits_.Or(has_bits);
674   return ptr;
675 failure:
676   ptr = nullptr;
677   goto success;
678 #undef CHK_
679 }
680 
_InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 * target,::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream * stream) const681 ::PROTOBUF_NAMESPACE_ID::uint8* PhoneNumberDesc::_InternalSerialize(
682     ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
683   // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.PhoneNumberDesc)
684   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
685   (void) cached_has_bits;
686 
687   cached_has_bits = _has_bits_[0];
688   // optional string national_number_pattern = 2;
689   if (cached_has_bits & 0x00000001u) {
690     target = stream->WriteStringMaybeAliased(
691         2, this->_internal_national_number_pattern(), target);
692   }
693 
694   // optional string example_number = 6;
695   if (cached_has_bits & 0x00000002u) {
696     target = stream->WriteStringMaybeAliased(
697         6, this->_internal_example_number(), target);
698   }
699 
700   // repeated int32 possible_length = 9;
701   for (int i = 0, n = this->_internal_possible_length_size(); i < n; i++) {
702     target = stream->EnsureSpace(target);
703     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_possible_length(i), target);
704   }
705 
706   // repeated int32 possible_length_local_only = 10;
707   for (int i = 0, n = this->_internal_possible_length_local_only_size(); i < n; i++) {
708     target = stream->EnsureSpace(target);
709     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_possible_length_local_only(i), target);
710   }
711 
712   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
713     target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
714         static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
715   }
716   // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.PhoneNumberDesc)
717   return target;
718 }
719 
ByteSizeLong() const720 size_t PhoneNumberDesc::ByteSizeLong() const {
721 // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.PhoneNumberDesc)
722   size_t total_size = 0;
723 
724   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
725   // Prevent compiler warnings about cached_has_bits being unused
726   (void) cached_has_bits;
727 
728   // repeated int32 possible_length = 9;
729   {
730     size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
731       Int32Size(this->possible_length_);
732     total_size += 1 *
733                   ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_possible_length_size());
734     total_size += data_size;
735   }
736 
737   // repeated int32 possible_length_local_only = 10;
738   {
739     size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
740       Int32Size(this->possible_length_local_only_);
741     total_size += 1 *
742                   ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_possible_length_local_only_size());
743     total_size += data_size;
744   }
745 
746   cached_has_bits = _has_bits_[0];
747   if (cached_has_bits & 0x00000003u) {
748     // optional string national_number_pattern = 2;
749     if (cached_has_bits & 0x00000001u) {
750       total_size += 1 +
751         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
752           this->_internal_national_number_pattern());
753     }
754 
755     // optional string example_number = 6;
756     if (cached_has_bits & 0x00000002u) {
757       total_size += 1 +
758         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
759           this->_internal_example_number());
760     }
761 
762   }
763   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
764     total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
765   }
766   int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
767   SetCachedSize(cached_size);
768   return total_size;
769 }
770 
CheckTypeAndMergeFrom(const::PROTOBUF_NAMESPACE_ID::MessageLite & from)771 void PhoneNumberDesc::CheckTypeAndMergeFrom(
772     const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
773   MergeFrom(*::PROTOBUF_NAMESPACE_ID::internal::DownCast<const PhoneNumberDesc*>(
774       &from));
775 }
776 
MergeFrom(const PhoneNumberDesc & from)777 void PhoneNumberDesc::MergeFrom(const PhoneNumberDesc& from) {
778 // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.PhoneNumberDesc)
779   GOOGLE_DCHECK_NE(&from, this);
780   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
781   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
782   (void) cached_has_bits;
783 
784   possible_length_.MergeFrom(from.possible_length_);
785   possible_length_local_only_.MergeFrom(from.possible_length_local_only_);
786   cached_has_bits = from._has_bits_[0];
787   if (cached_has_bits & 0x00000003u) {
788     if (cached_has_bits & 0x00000001u) {
789       _internal_set_national_number_pattern(from._internal_national_number_pattern());
790     }
791     if (cached_has_bits & 0x00000002u) {
792       _internal_set_example_number(from._internal_example_number());
793     }
794   }
795 }
796 
CopyFrom(const PhoneNumberDesc & from)797 void PhoneNumberDesc::CopyFrom(const PhoneNumberDesc& from) {
798 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.PhoneNumberDesc)
799   if (&from == this) return;
800   Clear();
801   MergeFrom(from);
802 }
803 
IsInitialized() const804 bool PhoneNumberDesc::IsInitialized() const {
805   return true;
806 }
807 
InternalSwap(PhoneNumberDesc * other)808 void PhoneNumberDesc::InternalSwap(PhoneNumberDesc* other) {
809   using std::swap;
810   _internal_metadata_.Swap<std::string>(&other->_internal_metadata_);
811   swap(_has_bits_[0], other->_has_bits_[0]);
812   possible_length_.InternalSwap(&other->possible_length_);
813   possible_length_local_only_.InternalSwap(&other->possible_length_local_only_);
814   national_number_pattern_.Swap(&other->national_number_pattern_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
815   example_number_.Swap(&other->example_number_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
816 }
817 
GetTypeName() const818 std::string PhoneNumberDesc::GetTypeName() const {
819   return "i18n.phonenumbers.PhoneNumberDesc";
820 }
821 
822 
823 // ===================================================================
824 
InitAsDefaultInstance()825 void PhoneMetadata::InitAsDefaultInstance() {
826   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->general_desc_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
827       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
828   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->fixed_line_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
829       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
830   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->mobile_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
831       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
832   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->toll_free_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
833       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
834   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->premium_rate_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
835       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
836   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->shared_cost_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
837       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
838   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->personal_number_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
839       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
840   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->voip_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
841       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
842   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->pager_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
843       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
844   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->uan_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
845       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
846   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->emergency_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
847       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
848   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->voicemail_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
849       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
850   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->short_code_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
851       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
852   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->standard_rate_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
853       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
854   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->carrier_specific_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
855       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
856   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->sms_services_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
857       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
858   ::i18n::phonenumbers::_PhoneMetadata_default_instance_._instance.get_mutable()->no_international_dialling_ = const_cast< ::i18n::phonenumbers::PhoneNumberDesc*>(
859       ::i18n::phonenumbers::PhoneNumberDesc::internal_default_instance());
860 }
861 class PhoneMetadata::_Internal {
862  public:
863   using HasBits = decltype(std::declval<PhoneMetadata>()._has_bits_);
864   static const ::i18n::phonenumbers::PhoneNumberDesc& general_desc(const PhoneMetadata* msg);
set_has_general_desc(HasBits * has_bits)865   static void set_has_general_desc(HasBits* has_bits) {
866     (*has_bits)[0] |= 256u;
867   }
868   static const ::i18n::phonenumbers::PhoneNumberDesc& fixed_line(const PhoneMetadata* msg);
set_has_fixed_line(HasBits * has_bits)869   static void set_has_fixed_line(HasBits* has_bits) {
870     (*has_bits)[0] |= 512u;
871   }
872   static const ::i18n::phonenumbers::PhoneNumberDesc& mobile(const PhoneMetadata* msg);
set_has_mobile(HasBits * has_bits)873   static void set_has_mobile(HasBits* has_bits) {
874     (*has_bits)[0] |= 1024u;
875   }
876   static const ::i18n::phonenumbers::PhoneNumberDesc& toll_free(const PhoneMetadata* msg);
set_has_toll_free(HasBits * has_bits)877   static void set_has_toll_free(HasBits* has_bits) {
878     (*has_bits)[0] |= 2048u;
879   }
880   static const ::i18n::phonenumbers::PhoneNumberDesc& premium_rate(const PhoneMetadata* msg);
set_has_premium_rate(HasBits * has_bits)881   static void set_has_premium_rate(HasBits* has_bits) {
882     (*has_bits)[0] |= 4096u;
883   }
884   static const ::i18n::phonenumbers::PhoneNumberDesc& shared_cost(const PhoneMetadata* msg);
set_has_shared_cost(HasBits * has_bits)885   static void set_has_shared_cost(HasBits* has_bits) {
886     (*has_bits)[0] |= 8192u;
887   }
888   static const ::i18n::phonenumbers::PhoneNumberDesc& personal_number(const PhoneMetadata* msg);
set_has_personal_number(HasBits * has_bits)889   static void set_has_personal_number(HasBits* has_bits) {
890     (*has_bits)[0] |= 16384u;
891   }
892   static const ::i18n::phonenumbers::PhoneNumberDesc& voip(const PhoneMetadata* msg);
set_has_voip(HasBits * has_bits)893   static void set_has_voip(HasBits* has_bits) {
894     (*has_bits)[0] |= 32768u;
895   }
896   static const ::i18n::phonenumbers::PhoneNumberDesc& pager(const PhoneMetadata* msg);
set_has_pager(HasBits * has_bits)897   static void set_has_pager(HasBits* has_bits) {
898     (*has_bits)[0] |= 65536u;
899   }
900   static const ::i18n::phonenumbers::PhoneNumberDesc& uan(const PhoneMetadata* msg);
set_has_uan(HasBits * has_bits)901   static void set_has_uan(HasBits* has_bits) {
902     (*has_bits)[0] |= 262144u;
903   }
904   static const ::i18n::phonenumbers::PhoneNumberDesc& emergency(const PhoneMetadata* msg);
set_has_emergency(HasBits * has_bits)905   static void set_has_emergency(HasBits* has_bits) {
906     (*has_bits)[0] |= 524288u;
907   }
908   static const ::i18n::phonenumbers::PhoneNumberDesc& voicemail(const PhoneMetadata* msg);
set_has_voicemail(HasBits * has_bits)909   static void set_has_voicemail(HasBits* has_bits) {
910     (*has_bits)[0] |= 1048576u;
911   }
912   static const ::i18n::phonenumbers::PhoneNumberDesc& short_code(const PhoneMetadata* msg);
set_has_short_code(HasBits * has_bits)913   static void set_has_short_code(HasBits* has_bits) {
914     (*has_bits)[0] |= 2097152u;
915   }
916   static const ::i18n::phonenumbers::PhoneNumberDesc& standard_rate(const PhoneMetadata* msg);
set_has_standard_rate(HasBits * has_bits)917   static void set_has_standard_rate(HasBits* has_bits) {
918     (*has_bits)[0] |= 4194304u;
919   }
920   static const ::i18n::phonenumbers::PhoneNumberDesc& carrier_specific(const PhoneMetadata* msg);
set_has_carrier_specific(HasBits * has_bits)921   static void set_has_carrier_specific(HasBits* has_bits) {
922     (*has_bits)[0] |= 8388608u;
923   }
924   static const ::i18n::phonenumbers::PhoneNumberDesc& sms_services(const PhoneMetadata* msg);
set_has_sms_services(HasBits * has_bits)925   static void set_has_sms_services(HasBits* has_bits) {
926     (*has_bits)[0] |= 16777216u;
927   }
928   static const ::i18n::phonenumbers::PhoneNumberDesc& no_international_dialling(const PhoneMetadata* msg);
set_has_no_international_dialling(HasBits * has_bits)929   static void set_has_no_international_dialling(HasBits* has_bits) {
930     (*has_bits)[0] |= 131072u;
931   }
set_has_id(HasBits * has_bits)932   static void set_has_id(HasBits* has_bits) {
933     (*has_bits)[0] |= 1u;
934   }
set_has_country_code(HasBits * has_bits)935   static void set_has_country_code(HasBits* has_bits) {
936     (*has_bits)[0] |= 33554432u;
937   }
set_has_international_prefix(HasBits * has_bits)938   static void set_has_international_prefix(HasBits* has_bits) {
939     (*has_bits)[0] |= 2u;
940   }
set_has_preferred_international_prefix(HasBits * has_bits)941   static void set_has_preferred_international_prefix(HasBits* has_bits) {
942     (*has_bits)[0] |= 64u;
943   }
set_has_national_prefix(HasBits * has_bits)944   static void set_has_national_prefix(HasBits* has_bits) {
945     (*has_bits)[0] |= 4u;
946   }
set_has_preferred_extn_prefix(HasBits * has_bits)947   static void set_has_preferred_extn_prefix(HasBits* has_bits) {
948     (*has_bits)[0] |= 8u;
949   }
set_has_national_prefix_for_parsing(HasBits * has_bits)950   static void set_has_national_prefix_for_parsing(HasBits* has_bits) {
951     (*has_bits)[0] |= 16u;
952   }
set_has_national_prefix_transform_rule(HasBits * has_bits)953   static void set_has_national_prefix_transform_rule(HasBits* has_bits) {
954     (*has_bits)[0] |= 32u;
955   }
set_has_same_mobile_and_fixed_line_pattern(HasBits * has_bits)956   static void set_has_same_mobile_and_fixed_line_pattern(HasBits* has_bits) {
957     (*has_bits)[0] |= 67108864u;
958   }
set_has_main_country_for_code(HasBits * has_bits)959   static void set_has_main_country_for_code(HasBits* has_bits) {
960     (*has_bits)[0] |= 134217728u;
961   }
set_has_leading_digits(HasBits * has_bits)962   static void set_has_leading_digits(HasBits* has_bits) {
963     (*has_bits)[0] |= 128u;
964   }
set_has_leading_zero_possible(HasBits * has_bits)965   static void set_has_leading_zero_possible(HasBits* has_bits) {
966     (*has_bits)[0] |= 268435456u;
967   }
set_has_mobile_number_portable_region(HasBits * has_bits)968   static void set_has_mobile_number_portable_region(HasBits* has_bits) {
969     (*has_bits)[0] |= 536870912u;
970   }
MissingRequiredFields(const HasBits & has_bits)971   static bool MissingRequiredFields(const HasBits& has_bits) {
972     return ((has_bits[0] & 0x00000001) ^ 0x00000001) != 0;
973   }
974 };
975 
976 const ::i18n::phonenumbers::PhoneNumberDesc&
general_desc(const PhoneMetadata * msg)977 PhoneMetadata::_Internal::general_desc(const PhoneMetadata* msg) {
978   return *msg->general_desc_;
979 }
980 const ::i18n::phonenumbers::PhoneNumberDesc&
fixed_line(const PhoneMetadata * msg)981 PhoneMetadata::_Internal::fixed_line(const PhoneMetadata* msg) {
982   return *msg->fixed_line_;
983 }
984 const ::i18n::phonenumbers::PhoneNumberDesc&
mobile(const PhoneMetadata * msg)985 PhoneMetadata::_Internal::mobile(const PhoneMetadata* msg) {
986   return *msg->mobile_;
987 }
988 const ::i18n::phonenumbers::PhoneNumberDesc&
toll_free(const PhoneMetadata * msg)989 PhoneMetadata::_Internal::toll_free(const PhoneMetadata* msg) {
990   return *msg->toll_free_;
991 }
992 const ::i18n::phonenumbers::PhoneNumberDesc&
premium_rate(const PhoneMetadata * msg)993 PhoneMetadata::_Internal::premium_rate(const PhoneMetadata* msg) {
994   return *msg->premium_rate_;
995 }
996 const ::i18n::phonenumbers::PhoneNumberDesc&
shared_cost(const PhoneMetadata * msg)997 PhoneMetadata::_Internal::shared_cost(const PhoneMetadata* msg) {
998   return *msg->shared_cost_;
999 }
1000 const ::i18n::phonenumbers::PhoneNumberDesc&
personal_number(const PhoneMetadata * msg)1001 PhoneMetadata::_Internal::personal_number(const PhoneMetadata* msg) {
1002   return *msg->personal_number_;
1003 }
1004 const ::i18n::phonenumbers::PhoneNumberDesc&
voip(const PhoneMetadata * msg)1005 PhoneMetadata::_Internal::voip(const PhoneMetadata* msg) {
1006   return *msg->voip_;
1007 }
1008 const ::i18n::phonenumbers::PhoneNumberDesc&
pager(const PhoneMetadata * msg)1009 PhoneMetadata::_Internal::pager(const PhoneMetadata* msg) {
1010   return *msg->pager_;
1011 }
1012 const ::i18n::phonenumbers::PhoneNumberDesc&
uan(const PhoneMetadata * msg)1013 PhoneMetadata::_Internal::uan(const PhoneMetadata* msg) {
1014   return *msg->uan_;
1015 }
1016 const ::i18n::phonenumbers::PhoneNumberDesc&
emergency(const PhoneMetadata * msg)1017 PhoneMetadata::_Internal::emergency(const PhoneMetadata* msg) {
1018   return *msg->emergency_;
1019 }
1020 const ::i18n::phonenumbers::PhoneNumberDesc&
voicemail(const PhoneMetadata * msg)1021 PhoneMetadata::_Internal::voicemail(const PhoneMetadata* msg) {
1022   return *msg->voicemail_;
1023 }
1024 const ::i18n::phonenumbers::PhoneNumberDesc&
short_code(const PhoneMetadata * msg)1025 PhoneMetadata::_Internal::short_code(const PhoneMetadata* msg) {
1026   return *msg->short_code_;
1027 }
1028 const ::i18n::phonenumbers::PhoneNumberDesc&
standard_rate(const PhoneMetadata * msg)1029 PhoneMetadata::_Internal::standard_rate(const PhoneMetadata* msg) {
1030   return *msg->standard_rate_;
1031 }
1032 const ::i18n::phonenumbers::PhoneNumberDesc&
carrier_specific(const PhoneMetadata * msg)1033 PhoneMetadata::_Internal::carrier_specific(const PhoneMetadata* msg) {
1034   return *msg->carrier_specific_;
1035 }
1036 const ::i18n::phonenumbers::PhoneNumberDesc&
sms_services(const PhoneMetadata * msg)1037 PhoneMetadata::_Internal::sms_services(const PhoneMetadata* msg) {
1038   return *msg->sms_services_;
1039 }
1040 const ::i18n::phonenumbers::PhoneNumberDesc&
no_international_dialling(const PhoneMetadata * msg)1041 PhoneMetadata::_Internal::no_international_dialling(const PhoneMetadata* msg) {
1042   return *msg->no_international_dialling_;
1043 }
PhoneMetadata(::PROTOBUF_NAMESPACE_ID::Arena * arena)1044 PhoneMetadata::PhoneMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1045   : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena),
1046   number_format_(arena),
1047   intl_number_format_(arena) {
1048   SharedCtor();
1049   RegisterArenaDtor(arena);
1050   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.PhoneMetadata)
1051 }
PhoneMetadata(const PhoneMetadata & from)1052 PhoneMetadata::PhoneMetadata(const PhoneMetadata& from)
1053   : ::PROTOBUF_NAMESPACE_ID::MessageLite(),
1054       _has_bits_(from._has_bits_),
1055       number_format_(from.number_format_),
1056       intl_number_format_(from.intl_number_format_) {
1057   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
1058   id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1059   if (from._internal_has_id()) {
1060     id_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_id(),
1061       GetArena());
1062   }
1063   international_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1064   if (from._internal_has_international_prefix()) {
1065     international_prefix_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_international_prefix(),
1066       GetArena());
1067   }
1068   national_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1069   if (from._internal_has_national_prefix()) {
1070     national_prefix_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_national_prefix(),
1071       GetArena());
1072   }
1073   preferred_extn_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1074   if (from._internal_has_preferred_extn_prefix()) {
1075     preferred_extn_prefix_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_preferred_extn_prefix(),
1076       GetArena());
1077   }
1078   national_prefix_for_parsing_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1079   if (from._internal_has_national_prefix_for_parsing()) {
1080     national_prefix_for_parsing_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_national_prefix_for_parsing(),
1081       GetArena());
1082   }
1083   national_prefix_transform_rule_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1084   if (from._internal_has_national_prefix_transform_rule()) {
1085     national_prefix_transform_rule_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_national_prefix_transform_rule(),
1086       GetArena());
1087   }
1088   preferred_international_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1089   if (from._internal_has_preferred_international_prefix()) {
1090     preferred_international_prefix_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_preferred_international_prefix(),
1091       GetArena());
1092   }
1093   leading_digits_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1094   if (from._internal_has_leading_digits()) {
1095     leading_digits_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_leading_digits(),
1096       GetArena());
1097   }
1098   if (from._internal_has_general_desc()) {
1099     general_desc_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.general_desc_);
1100   } else {
1101     general_desc_ = nullptr;
1102   }
1103   if (from._internal_has_fixed_line()) {
1104     fixed_line_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.fixed_line_);
1105   } else {
1106     fixed_line_ = nullptr;
1107   }
1108   if (from._internal_has_mobile()) {
1109     mobile_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.mobile_);
1110   } else {
1111     mobile_ = nullptr;
1112   }
1113   if (from._internal_has_toll_free()) {
1114     toll_free_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.toll_free_);
1115   } else {
1116     toll_free_ = nullptr;
1117   }
1118   if (from._internal_has_premium_rate()) {
1119     premium_rate_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.premium_rate_);
1120   } else {
1121     premium_rate_ = nullptr;
1122   }
1123   if (from._internal_has_shared_cost()) {
1124     shared_cost_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.shared_cost_);
1125   } else {
1126     shared_cost_ = nullptr;
1127   }
1128   if (from._internal_has_personal_number()) {
1129     personal_number_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.personal_number_);
1130   } else {
1131     personal_number_ = nullptr;
1132   }
1133   if (from._internal_has_voip()) {
1134     voip_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.voip_);
1135   } else {
1136     voip_ = nullptr;
1137   }
1138   if (from._internal_has_pager()) {
1139     pager_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.pager_);
1140   } else {
1141     pager_ = nullptr;
1142   }
1143   if (from._internal_has_no_international_dialling()) {
1144     no_international_dialling_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.no_international_dialling_);
1145   } else {
1146     no_international_dialling_ = nullptr;
1147   }
1148   if (from._internal_has_uan()) {
1149     uan_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.uan_);
1150   } else {
1151     uan_ = nullptr;
1152   }
1153   if (from._internal_has_emergency()) {
1154     emergency_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.emergency_);
1155   } else {
1156     emergency_ = nullptr;
1157   }
1158   if (from._internal_has_voicemail()) {
1159     voicemail_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.voicemail_);
1160   } else {
1161     voicemail_ = nullptr;
1162   }
1163   if (from._internal_has_short_code()) {
1164     short_code_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.short_code_);
1165   } else {
1166     short_code_ = nullptr;
1167   }
1168   if (from._internal_has_standard_rate()) {
1169     standard_rate_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.standard_rate_);
1170   } else {
1171     standard_rate_ = nullptr;
1172   }
1173   if (from._internal_has_carrier_specific()) {
1174     carrier_specific_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.carrier_specific_);
1175   } else {
1176     carrier_specific_ = nullptr;
1177   }
1178   if (from._internal_has_sms_services()) {
1179     sms_services_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.sms_services_);
1180   } else {
1181     sms_services_ = nullptr;
1182   }
1183   ::memcpy(&country_code_, &from.country_code_,
1184     static_cast<size_t>(reinterpret_cast<char*>(&mobile_number_portable_region_) -
1185     reinterpret_cast<char*>(&country_code_)) + sizeof(mobile_number_portable_region_));
1186   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.PhoneMetadata)
1187 }
1188 
SharedCtor()1189 void PhoneMetadata::SharedCtor() {
1190   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_PhoneMetadata_phonemetadata_2eproto.base);
1191   id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1192   international_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1193   national_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1194   preferred_extn_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1195   national_prefix_for_parsing_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1196   national_prefix_transform_rule_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1197   preferred_international_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1198   leading_digits_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1199   ::memset(&general_desc_, 0, static_cast<size_t>(
1200       reinterpret_cast<char*>(&mobile_number_portable_region_) -
1201       reinterpret_cast<char*>(&general_desc_)) + sizeof(mobile_number_portable_region_));
1202 }
1203 
~PhoneMetadata()1204 PhoneMetadata::~PhoneMetadata() {
1205   // @@protoc_insertion_point(destructor:i18n.phonenumbers.PhoneMetadata)
1206   SharedDtor();
1207   _internal_metadata_.Delete<std::string>();
1208 }
1209 
SharedDtor()1210 void PhoneMetadata::SharedDtor() {
1211   GOOGLE_DCHECK(GetArena() == nullptr);
1212   id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1213   international_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1214   national_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1215   preferred_extn_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1216   national_prefix_for_parsing_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1217   national_prefix_transform_rule_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1218   preferred_international_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1219   leading_digits_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1220   if (this != internal_default_instance()) delete general_desc_;
1221   if (this != internal_default_instance()) delete fixed_line_;
1222   if (this != internal_default_instance()) delete mobile_;
1223   if (this != internal_default_instance()) delete toll_free_;
1224   if (this != internal_default_instance()) delete premium_rate_;
1225   if (this != internal_default_instance()) delete shared_cost_;
1226   if (this != internal_default_instance()) delete personal_number_;
1227   if (this != internal_default_instance()) delete voip_;
1228   if (this != internal_default_instance()) delete pager_;
1229   if (this != internal_default_instance()) delete no_international_dialling_;
1230   if (this != internal_default_instance()) delete uan_;
1231   if (this != internal_default_instance()) delete emergency_;
1232   if (this != internal_default_instance()) delete voicemail_;
1233   if (this != internal_default_instance()) delete short_code_;
1234   if (this != internal_default_instance()) delete standard_rate_;
1235   if (this != internal_default_instance()) delete carrier_specific_;
1236   if (this != internal_default_instance()) delete sms_services_;
1237 }
1238 
ArenaDtor(void * object)1239 void PhoneMetadata::ArenaDtor(void* object) {
1240   PhoneMetadata* _this = reinterpret_cast< PhoneMetadata* >(object);
1241   (void)_this;
1242 }
RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena *)1243 void PhoneMetadata::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1244 }
SetCachedSize(int size) const1245 void PhoneMetadata::SetCachedSize(int size) const {
1246   _cached_size_.Set(size);
1247 }
default_instance()1248 const PhoneMetadata& PhoneMetadata::default_instance() {
1249   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PhoneMetadata_phonemetadata_2eproto.base);
1250   return *internal_default_instance();
1251 }
1252 
1253 
Clear()1254 void PhoneMetadata::Clear() {
1255 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.PhoneMetadata)
1256   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1257   // Prevent compiler warnings about cached_has_bits being unused
1258   (void) cached_has_bits;
1259 
1260   number_format_.Clear();
1261   intl_number_format_.Clear();
1262   cached_has_bits = _has_bits_[0];
1263   if (cached_has_bits & 0x000000ffu) {
1264     if (cached_has_bits & 0x00000001u) {
1265       id_.ClearNonDefaultToEmpty();
1266     }
1267     if (cached_has_bits & 0x00000002u) {
1268       international_prefix_.ClearNonDefaultToEmpty();
1269     }
1270     if (cached_has_bits & 0x00000004u) {
1271       national_prefix_.ClearNonDefaultToEmpty();
1272     }
1273     if (cached_has_bits & 0x00000008u) {
1274       preferred_extn_prefix_.ClearNonDefaultToEmpty();
1275     }
1276     if (cached_has_bits & 0x00000010u) {
1277       national_prefix_for_parsing_.ClearNonDefaultToEmpty();
1278     }
1279     if (cached_has_bits & 0x00000020u) {
1280       national_prefix_transform_rule_.ClearNonDefaultToEmpty();
1281     }
1282     if (cached_has_bits & 0x00000040u) {
1283       preferred_international_prefix_.ClearNonDefaultToEmpty();
1284     }
1285     if (cached_has_bits & 0x00000080u) {
1286       leading_digits_.ClearNonDefaultToEmpty();
1287     }
1288   }
1289   if (cached_has_bits & 0x0000ff00u) {
1290     if (cached_has_bits & 0x00000100u) {
1291       GOOGLE_DCHECK(general_desc_ != nullptr);
1292       general_desc_->Clear();
1293     }
1294     if (cached_has_bits & 0x00000200u) {
1295       GOOGLE_DCHECK(fixed_line_ != nullptr);
1296       fixed_line_->Clear();
1297     }
1298     if (cached_has_bits & 0x00000400u) {
1299       GOOGLE_DCHECK(mobile_ != nullptr);
1300       mobile_->Clear();
1301     }
1302     if (cached_has_bits & 0x00000800u) {
1303       GOOGLE_DCHECK(toll_free_ != nullptr);
1304       toll_free_->Clear();
1305     }
1306     if (cached_has_bits & 0x00001000u) {
1307       GOOGLE_DCHECK(premium_rate_ != nullptr);
1308       premium_rate_->Clear();
1309     }
1310     if (cached_has_bits & 0x00002000u) {
1311       GOOGLE_DCHECK(shared_cost_ != nullptr);
1312       shared_cost_->Clear();
1313     }
1314     if (cached_has_bits & 0x00004000u) {
1315       GOOGLE_DCHECK(personal_number_ != nullptr);
1316       personal_number_->Clear();
1317     }
1318     if (cached_has_bits & 0x00008000u) {
1319       GOOGLE_DCHECK(voip_ != nullptr);
1320       voip_->Clear();
1321     }
1322   }
1323   if (cached_has_bits & 0x00ff0000u) {
1324     if (cached_has_bits & 0x00010000u) {
1325       GOOGLE_DCHECK(pager_ != nullptr);
1326       pager_->Clear();
1327     }
1328     if (cached_has_bits & 0x00020000u) {
1329       GOOGLE_DCHECK(no_international_dialling_ != nullptr);
1330       no_international_dialling_->Clear();
1331     }
1332     if (cached_has_bits & 0x00040000u) {
1333       GOOGLE_DCHECK(uan_ != nullptr);
1334       uan_->Clear();
1335     }
1336     if (cached_has_bits & 0x00080000u) {
1337       GOOGLE_DCHECK(emergency_ != nullptr);
1338       emergency_->Clear();
1339     }
1340     if (cached_has_bits & 0x00100000u) {
1341       GOOGLE_DCHECK(voicemail_ != nullptr);
1342       voicemail_->Clear();
1343     }
1344     if (cached_has_bits & 0x00200000u) {
1345       GOOGLE_DCHECK(short_code_ != nullptr);
1346       short_code_->Clear();
1347     }
1348     if (cached_has_bits & 0x00400000u) {
1349       GOOGLE_DCHECK(standard_rate_ != nullptr);
1350       standard_rate_->Clear();
1351     }
1352     if (cached_has_bits & 0x00800000u) {
1353       GOOGLE_DCHECK(carrier_specific_ != nullptr);
1354       carrier_specific_->Clear();
1355     }
1356   }
1357   if (cached_has_bits & 0x01000000u) {
1358     GOOGLE_DCHECK(sms_services_ != nullptr);
1359     sms_services_->Clear();
1360   }
1361   if (cached_has_bits & 0x3e000000u) {
1362     ::memset(&country_code_, 0, static_cast<size_t>(
1363         reinterpret_cast<char*>(&mobile_number_portable_region_) -
1364         reinterpret_cast<char*>(&country_code_)) + sizeof(mobile_number_portable_region_));
1365   }
1366   _has_bits_.Clear();
1367   _internal_metadata_.Clear<std::string>();
1368 }
1369 
_InternalParse(const char * ptr,::PROTOBUF_NAMESPACE_ID::internal::ParseContext * ctx)1370 const char* PhoneMetadata::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1371 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1372   _Internal::HasBits has_bits{};
1373   ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
1374   while (!ctx->Done(&ptr)) {
1375     ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1376     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1377     CHK_(ptr);
1378     switch (tag >> 3) {
1379       // optional .i18n.phonenumbers.PhoneNumberDesc general_desc = 1;
1380       case 1:
1381         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1382           ptr = ctx->ParseMessage(_internal_mutable_general_desc(), ptr);
1383           CHK_(ptr);
1384         } else goto handle_unusual;
1385         continue;
1386       // optional .i18n.phonenumbers.PhoneNumberDesc fixed_line = 2;
1387       case 2:
1388         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
1389           ptr = ctx->ParseMessage(_internal_mutable_fixed_line(), ptr);
1390           CHK_(ptr);
1391         } else goto handle_unusual;
1392         continue;
1393       // optional .i18n.phonenumbers.PhoneNumberDesc mobile = 3;
1394       case 3:
1395         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
1396           ptr = ctx->ParseMessage(_internal_mutable_mobile(), ptr);
1397           CHK_(ptr);
1398         } else goto handle_unusual;
1399         continue;
1400       // optional .i18n.phonenumbers.PhoneNumberDesc toll_free = 4;
1401       case 4:
1402         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
1403           ptr = ctx->ParseMessage(_internal_mutable_toll_free(), ptr);
1404           CHK_(ptr);
1405         } else goto handle_unusual;
1406         continue;
1407       // optional .i18n.phonenumbers.PhoneNumberDesc premium_rate = 5;
1408       case 5:
1409         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
1410           ptr = ctx->ParseMessage(_internal_mutable_premium_rate(), ptr);
1411           CHK_(ptr);
1412         } else goto handle_unusual;
1413         continue;
1414       // optional .i18n.phonenumbers.PhoneNumberDesc shared_cost = 6;
1415       case 6:
1416         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
1417           ptr = ctx->ParseMessage(_internal_mutable_shared_cost(), ptr);
1418           CHK_(ptr);
1419         } else goto handle_unusual;
1420         continue;
1421       // optional .i18n.phonenumbers.PhoneNumberDesc personal_number = 7;
1422       case 7:
1423         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
1424           ptr = ctx->ParseMessage(_internal_mutable_personal_number(), ptr);
1425           CHK_(ptr);
1426         } else goto handle_unusual;
1427         continue;
1428       // optional .i18n.phonenumbers.PhoneNumberDesc voip = 8;
1429       case 8:
1430         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
1431           ptr = ctx->ParseMessage(_internal_mutable_voip(), ptr);
1432           CHK_(ptr);
1433         } else goto handle_unusual;
1434         continue;
1435       // required string id = 9;
1436       case 9:
1437         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
1438           auto str = _internal_mutable_id();
1439           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1440           CHK_(ptr);
1441         } else goto handle_unusual;
1442         continue;
1443       // optional int32 country_code = 10;
1444       case 10:
1445         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
1446           _Internal::set_has_country_code(&has_bits);
1447           country_code_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1448           CHK_(ptr);
1449         } else goto handle_unusual;
1450         continue;
1451       // optional string international_prefix = 11;
1452       case 11:
1453         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
1454           auto str = _internal_mutable_international_prefix();
1455           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1456           CHK_(ptr);
1457         } else goto handle_unusual;
1458         continue;
1459       // optional string national_prefix = 12;
1460       case 12:
1461         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
1462           auto str = _internal_mutable_national_prefix();
1463           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1464           CHK_(ptr);
1465         } else goto handle_unusual;
1466         continue;
1467       // optional string preferred_extn_prefix = 13;
1468       case 13:
1469         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
1470           auto str = _internal_mutable_preferred_extn_prefix();
1471           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1472           CHK_(ptr);
1473         } else goto handle_unusual;
1474         continue;
1475       // optional string national_prefix_for_parsing = 15;
1476       case 15:
1477         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
1478           auto str = _internal_mutable_national_prefix_for_parsing();
1479           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1480           CHK_(ptr);
1481         } else goto handle_unusual;
1482         continue;
1483       // optional string national_prefix_transform_rule = 16;
1484       case 16:
1485         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
1486           auto str = _internal_mutable_national_prefix_transform_rule();
1487           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1488           CHK_(ptr);
1489         } else goto handle_unusual;
1490         continue;
1491       // optional string preferred_international_prefix = 17;
1492       case 17:
1493         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
1494           auto str = _internal_mutable_preferred_international_prefix();
1495           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1496           CHK_(ptr);
1497         } else goto handle_unusual;
1498         continue;
1499       // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
1500       case 18:
1501         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
1502           _Internal::set_has_same_mobile_and_fixed_line_pattern(&has_bits);
1503           same_mobile_and_fixed_line_pattern_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1504           CHK_(ptr);
1505         } else goto handle_unusual;
1506         continue;
1507       // repeated .i18n.phonenumbers.NumberFormat number_format = 19;
1508       case 19:
1509         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
1510           ptr -= 2;
1511           do {
1512             ptr += 2;
1513             ptr = ctx->ParseMessage(_internal_add_number_format(), ptr);
1514             CHK_(ptr);
1515             if (!ctx->DataAvailable(ptr)) break;
1516           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<154>(ptr));
1517         } else goto handle_unusual;
1518         continue;
1519       // repeated .i18n.phonenumbers.NumberFormat intl_number_format = 20;
1520       case 20:
1521         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
1522           ptr -= 2;
1523           do {
1524             ptr += 2;
1525             ptr = ctx->ParseMessage(_internal_add_intl_number_format(), ptr);
1526             CHK_(ptr);
1527             if (!ctx->DataAvailable(ptr)) break;
1528           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<162>(ptr));
1529         } else goto handle_unusual;
1530         continue;
1531       // optional .i18n.phonenumbers.PhoneNumberDesc pager = 21;
1532       case 21:
1533         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
1534           ptr = ctx->ParseMessage(_internal_mutable_pager(), ptr);
1535           CHK_(ptr);
1536         } else goto handle_unusual;
1537         continue;
1538       // optional bool main_country_for_code = 22 [default = false];
1539       case 22:
1540         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
1541           _Internal::set_has_main_country_for_code(&has_bits);
1542           main_country_for_code_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1543           CHK_(ptr);
1544         } else goto handle_unusual;
1545         continue;
1546       // optional string leading_digits = 23;
1547       case 23:
1548         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
1549           auto str = _internal_mutable_leading_digits();
1550           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1551           CHK_(ptr);
1552         } else goto handle_unusual;
1553         continue;
1554       // optional .i18n.phonenumbers.PhoneNumberDesc no_international_dialling = 24;
1555       case 24:
1556         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
1557           ptr = ctx->ParseMessage(_internal_mutable_no_international_dialling(), ptr);
1558           CHK_(ptr);
1559         } else goto handle_unusual;
1560         continue;
1561       // optional .i18n.phonenumbers.PhoneNumberDesc uan = 25;
1562       case 25:
1563         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
1564           ptr = ctx->ParseMessage(_internal_mutable_uan(), ptr);
1565           CHK_(ptr);
1566         } else goto handle_unusual;
1567         continue;
1568       // optional bool leading_zero_possible = 26 [default = false];
1569       case 26:
1570         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
1571           _Internal::set_has_leading_zero_possible(&has_bits);
1572           leading_zero_possible_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1573           CHK_(ptr);
1574         } else goto handle_unusual;
1575         continue;
1576       // optional .i18n.phonenumbers.PhoneNumberDesc emergency = 27;
1577       case 27:
1578         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
1579           ptr = ctx->ParseMessage(_internal_mutable_emergency(), ptr);
1580           CHK_(ptr);
1581         } else goto handle_unusual;
1582         continue;
1583       // optional .i18n.phonenumbers.PhoneNumberDesc voicemail = 28;
1584       case 28:
1585         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
1586           ptr = ctx->ParseMessage(_internal_mutable_voicemail(), ptr);
1587           CHK_(ptr);
1588         } else goto handle_unusual;
1589         continue;
1590       // optional .i18n.phonenumbers.PhoneNumberDesc short_code = 29;
1591       case 29:
1592         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
1593           ptr = ctx->ParseMessage(_internal_mutable_short_code(), ptr);
1594           CHK_(ptr);
1595         } else goto handle_unusual;
1596         continue;
1597       // optional .i18n.phonenumbers.PhoneNumberDesc standard_rate = 30;
1598       case 30:
1599         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
1600           ptr = ctx->ParseMessage(_internal_mutable_standard_rate(), ptr);
1601           CHK_(ptr);
1602         } else goto handle_unusual;
1603         continue;
1604       // optional .i18n.phonenumbers.PhoneNumberDesc carrier_specific = 31;
1605       case 31:
1606         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
1607           ptr = ctx->ParseMessage(_internal_mutable_carrier_specific(), ptr);
1608           CHK_(ptr);
1609         } else goto handle_unusual;
1610         continue;
1611       // optional bool mobile_number_portable_region = 32 [default = false];
1612       case 32:
1613         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 0)) {
1614           _Internal::set_has_mobile_number_portable_region(&has_bits);
1615           mobile_number_portable_region_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1616           CHK_(ptr);
1617         } else goto handle_unusual;
1618         continue;
1619       // optional .i18n.phonenumbers.PhoneNumberDesc sms_services = 33;
1620       case 33:
1621         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1622           ptr = ctx->ParseMessage(_internal_mutable_sms_services(), ptr);
1623           CHK_(ptr);
1624         } else goto handle_unusual;
1625         continue;
1626       default: {
1627       handle_unusual:
1628         if ((tag & 7) == 4 || tag == 0) {
1629           ctx->SetLastTag(tag);
1630           goto success;
1631         }
1632         ptr = UnknownFieldParse(tag,
1633             _internal_metadata_.mutable_unknown_fields<std::string>(),
1634             ptr, ctx);
1635         CHK_(ptr != nullptr);
1636         continue;
1637       }
1638     }  // switch
1639   }  // while
1640 success:
1641   _has_bits_.Or(has_bits);
1642   return ptr;
1643 failure:
1644   ptr = nullptr;
1645   goto success;
1646 #undef CHK_
1647 }
1648 
_InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 * target,::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream * stream) const1649 ::PROTOBUF_NAMESPACE_ID::uint8* PhoneMetadata::_InternalSerialize(
1650     ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1651   // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.PhoneMetadata)
1652   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1653   (void) cached_has_bits;
1654 
1655   cached_has_bits = _has_bits_[0];
1656   // optional .i18n.phonenumbers.PhoneNumberDesc general_desc = 1;
1657   if (cached_has_bits & 0x00000100u) {
1658     target = stream->EnsureSpace(target);
1659     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1660       InternalWriteMessage(
1661         1, _Internal::general_desc(this), target, stream);
1662   }
1663 
1664   // optional .i18n.phonenumbers.PhoneNumberDesc fixed_line = 2;
1665   if (cached_has_bits & 0x00000200u) {
1666     target = stream->EnsureSpace(target);
1667     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1668       InternalWriteMessage(
1669         2, _Internal::fixed_line(this), target, stream);
1670   }
1671 
1672   // optional .i18n.phonenumbers.PhoneNumberDesc mobile = 3;
1673   if (cached_has_bits & 0x00000400u) {
1674     target = stream->EnsureSpace(target);
1675     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1676       InternalWriteMessage(
1677         3, _Internal::mobile(this), target, stream);
1678   }
1679 
1680   // optional .i18n.phonenumbers.PhoneNumberDesc toll_free = 4;
1681   if (cached_has_bits & 0x00000800u) {
1682     target = stream->EnsureSpace(target);
1683     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1684       InternalWriteMessage(
1685         4, _Internal::toll_free(this), target, stream);
1686   }
1687 
1688   // optional .i18n.phonenumbers.PhoneNumberDesc premium_rate = 5;
1689   if (cached_has_bits & 0x00001000u) {
1690     target = stream->EnsureSpace(target);
1691     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1692       InternalWriteMessage(
1693         5, _Internal::premium_rate(this), target, stream);
1694   }
1695 
1696   // optional .i18n.phonenumbers.PhoneNumberDesc shared_cost = 6;
1697   if (cached_has_bits & 0x00002000u) {
1698     target = stream->EnsureSpace(target);
1699     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1700       InternalWriteMessage(
1701         6, _Internal::shared_cost(this), target, stream);
1702   }
1703 
1704   // optional .i18n.phonenumbers.PhoneNumberDesc personal_number = 7;
1705   if (cached_has_bits & 0x00004000u) {
1706     target = stream->EnsureSpace(target);
1707     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1708       InternalWriteMessage(
1709         7, _Internal::personal_number(this), target, stream);
1710   }
1711 
1712   // optional .i18n.phonenumbers.PhoneNumberDesc voip = 8;
1713   if (cached_has_bits & 0x00008000u) {
1714     target = stream->EnsureSpace(target);
1715     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1716       InternalWriteMessage(
1717         8, _Internal::voip(this), target, stream);
1718   }
1719 
1720   // required string id = 9;
1721   if (cached_has_bits & 0x00000001u) {
1722     target = stream->WriteStringMaybeAliased(
1723         9, this->_internal_id(), target);
1724   }
1725 
1726   // optional int32 country_code = 10;
1727   if (cached_has_bits & 0x02000000u) {
1728     target = stream->EnsureSpace(target);
1729     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_country_code(), target);
1730   }
1731 
1732   // optional string international_prefix = 11;
1733   if (cached_has_bits & 0x00000002u) {
1734     target = stream->WriteStringMaybeAliased(
1735         11, this->_internal_international_prefix(), target);
1736   }
1737 
1738   // optional string national_prefix = 12;
1739   if (cached_has_bits & 0x00000004u) {
1740     target = stream->WriteStringMaybeAliased(
1741         12, this->_internal_national_prefix(), target);
1742   }
1743 
1744   // optional string preferred_extn_prefix = 13;
1745   if (cached_has_bits & 0x00000008u) {
1746     target = stream->WriteStringMaybeAliased(
1747         13, this->_internal_preferred_extn_prefix(), target);
1748   }
1749 
1750   // optional string national_prefix_for_parsing = 15;
1751   if (cached_has_bits & 0x00000010u) {
1752     target = stream->WriteStringMaybeAliased(
1753         15, this->_internal_national_prefix_for_parsing(), target);
1754   }
1755 
1756   // optional string national_prefix_transform_rule = 16;
1757   if (cached_has_bits & 0x00000020u) {
1758     target = stream->WriteStringMaybeAliased(
1759         16, this->_internal_national_prefix_transform_rule(), target);
1760   }
1761 
1762   // optional string preferred_international_prefix = 17;
1763   if (cached_has_bits & 0x00000040u) {
1764     target = stream->WriteStringMaybeAliased(
1765         17, this->_internal_preferred_international_prefix(), target);
1766   }
1767 
1768   // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
1769   if (cached_has_bits & 0x04000000u) {
1770     target = stream->EnsureSpace(target);
1771     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(18, this->_internal_same_mobile_and_fixed_line_pattern(), target);
1772   }
1773 
1774   // repeated .i18n.phonenumbers.NumberFormat number_format = 19;
1775   for (unsigned int i = 0,
1776       n = static_cast<unsigned int>(this->_internal_number_format_size()); i < n; i++) {
1777     target = stream->EnsureSpace(target);
1778     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1779       InternalWriteMessage(19, this->_internal_number_format(i), target, stream);
1780   }
1781 
1782   // repeated .i18n.phonenumbers.NumberFormat intl_number_format = 20;
1783   for (unsigned int i = 0,
1784       n = static_cast<unsigned int>(this->_internal_intl_number_format_size()); i < n; i++) {
1785     target = stream->EnsureSpace(target);
1786     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1787       InternalWriteMessage(20, this->_internal_intl_number_format(i), target, stream);
1788   }
1789 
1790   // optional .i18n.phonenumbers.PhoneNumberDesc pager = 21;
1791   if (cached_has_bits & 0x00010000u) {
1792     target = stream->EnsureSpace(target);
1793     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1794       InternalWriteMessage(
1795         21, _Internal::pager(this), target, stream);
1796   }
1797 
1798   // optional bool main_country_for_code = 22 [default = false];
1799   if (cached_has_bits & 0x08000000u) {
1800     target = stream->EnsureSpace(target);
1801     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(22, this->_internal_main_country_for_code(), target);
1802   }
1803 
1804   // optional string leading_digits = 23;
1805   if (cached_has_bits & 0x00000080u) {
1806     target = stream->WriteStringMaybeAliased(
1807         23, this->_internal_leading_digits(), target);
1808   }
1809 
1810   // optional .i18n.phonenumbers.PhoneNumberDesc no_international_dialling = 24;
1811   if (cached_has_bits & 0x00020000u) {
1812     target = stream->EnsureSpace(target);
1813     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1814       InternalWriteMessage(
1815         24, _Internal::no_international_dialling(this), target, stream);
1816   }
1817 
1818   // optional .i18n.phonenumbers.PhoneNumberDesc uan = 25;
1819   if (cached_has_bits & 0x00040000u) {
1820     target = stream->EnsureSpace(target);
1821     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1822       InternalWriteMessage(
1823         25, _Internal::uan(this), target, stream);
1824   }
1825 
1826   // optional bool leading_zero_possible = 26 [default = false];
1827   if (cached_has_bits & 0x10000000u) {
1828     target = stream->EnsureSpace(target);
1829     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(26, this->_internal_leading_zero_possible(), target);
1830   }
1831 
1832   // optional .i18n.phonenumbers.PhoneNumberDesc emergency = 27;
1833   if (cached_has_bits & 0x00080000u) {
1834     target = stream->EnsureSpace(target);
1835     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1836       InternalWriteMessage(
1837         27, _Internal::emergency(this), target, stream);
1838   }
1839 
1840   // optional .i18n.phonenumbers.PhoneNumberDesc voicemail = 28;
1841   if (cached_has_bits & 0x00100000u) {
1842     target = stream->EnsureSpace(target);
1843     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1844       InternalWriteMessage(
1845         28, _Internal::voicemail(this), target, stream);
1846   }
1847 
1848   // optional .i18n.phonenumbers.PhoneNumberDesc short_code = 29;
1849   if (cached_has_bits & 0x00200000u) {
1850     target = stream->EnsureSpace(target);
1851     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1852       InternalWriteMessage(
1853         29, _Internal::short_code(this), target, stream);
1854   }
1855 
1856   // optional .i18n.phonenumbers.PhoneNumberDesc standard_rate = 30;
1857   if (cached_has_bits & 0x00400000u) {
1858     target = stream->EnsureSpace(target);
1859     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1860       InternalWriteMessage(
1861         30, _Internal::standard_rate(this), target, stream);
1862   }
1863 
1864   // optional .i18n.phonenumbers.PhoneNumberDesc carrier_specific = 31;
1865   if (cached_has_bits & 0x00800000u) {
1866     target = stream->EnsureSpace(target);
1867     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1868       InternalWriteMessage(
1869         31, _Internal::carrier_specific(this), target, stream);
1870   }
1871 
1872   // optional bool mobile_number_portable_region = 32 [default = false];
1873   if (cached_has_bits & 0x20000000u) {
1874     target = stream->EnsureSpace(target);
1875     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(32, this->_internal_mobile_number_portable_region(), target);
1876   }
1877 
1878   // optional .i18n.phonenumbers.PhoneNumberDesc sms_services = 33;
1879   if (cached_has_bits & 0x01000000u) {
1880     target = stream->EnsureSpace(target);
1881     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1882       InternalWriteMessage(
1883         33, _Internal::sms_services(this), target, stream);
1884   }
1885 
1886   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1887     target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
1888         static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
1889   }
1890   // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.PhoneMetadata)
1891   return target;
1892 }
1893 
ByteSizeLong() const1894 size_t PhoneMetadata::ByteSizeLong() const {
1895 // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.PhoneMetadata)
1896   size_t total_size = 0;
1897 
1898   // required string id = 9;
1899   if (_internal_has_id()) {
1900     total_size += 1 +
1901       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1902         this->_internal_id());
1903   }
1904   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1905   // Prevent compiler warnings about cached_has_bits being unused
1906   (void) cached_has_bits;
1907 
1908   // repeated .i18n.phonenumbers.NumberFormat number_format = 19;
1909   total_size += 2UL * this->_internal_number_format_size();
1910   for (const auto& msg : this->number_format_) {
1911     total_size +=
1912       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1913   }
1914 
1915   // repeated .i18n.phonenumbers.NumberFormat intl_number_format = 20;
1916   total_size += 2UL * this->_internal_intl_number_format_size();
1917   for (const auto& msg : this->intl_number_format_) {
1918     total_size +=
1919       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1920   }
1921 
1922   cached_has_bits = _has_bits_[0];
1923   if (cached_has_bits & 0x000000feu) {
1924     // optional string international_prefix = 11;
1925     if (cached_has_bits & 0x00000002u) {
1926       total_size += 1 +
1927         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1928           this->_internal_international_prefix());
1929     }
1930 
1931     // optional string national_prefix = 12;
1932     if (cached_has_bits & 0x00000004u) {
1933       total_size += 1 +
1934         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1935           this->_internal_national_prefix());
1936     }
1937 
1938     // optional string preferred_extn_prefix = 13;
1939     if (cached_has_bits & 0x00000008u) {
1940       total_size += 1 +
1941         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1942           this->_internal_preferred_extn_prefix());
1943     }
1944 
1945     // optional string national_prefix_for_parsing = 15;
1946     if (cached_has_bits & 0x00000010u) {
1947       total_size += 1 +
1948         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1949           this->_internal_national_prefix_for_parsing());
1950     }
1951 
1952     // optional string national_prefix_transform_rule = 16;
1953     if (cached_has_bits & 0x00000020u) {
1954       total_size += 2 +
1955         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1956           this->_internal_national_prefix_transform_rule());
1957     }
1958 
1959     // optional string preferred_international_prefix = 17;
1960     if (cached_has_bits & 0x00000040u) {
1961       total_size += 2 +
1962         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1963           this->_internal_preferred_international_prefix());
1964     }
1965 
1966     // optional string leading_digits = 23;
1967     if (cached_has_bits & 0x00000080u) {
1968       total_size += 2 +
1969         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1970           this->_internal_leading_digits());
1971     }
1972 
1973   }
1974   if (cached_has_bits & 0x0000ff00u) {
1975     // optional .i18n.phonenumbers.PhoneNumberDesc general_desc = 1;
1976     if (cached_has_bits & 0x00000100u) {
1977       total_size += 1 +
1978         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1979           *general_desc_);
1980     }
1981 
1982     // optional .i18n.phonenumbers.PhoneNumberDesc fixed_line = 2;
1983     if (cached_has_bits & 0x00000200u) {
1984       total_size += 1 +
1985         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1986           *fixed_line_);
1987     }
1988 
1989     // optional .i18n.phonenumbers.PhoneNumberDesc mobile = 3;
1990     if (cached_has_bits & 0x00000400u) {
1991       total_size += 1 +
1992         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1993           *mobile_);
1994     }
1995 
1996     // optional .i18n.phonenumbers.PhoneNumberDesc toll_free = 4;
1997     if (cached_has_bits & 0x00000800u) {
1998       total_size += 1 +
1999         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2000           *toll_free_);
2001     }
2002 
2003     // optional .i18n.phonenumbers.PhoneNumberDesc premium_rate = 5;
2004     if (cached_has_bits & 0x00001000u) {
2005       total_size += 1 +
2006         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2007           *premium_rate_);
2008     }
2009 
2010     // optional .i18n.phonenumbers.PhoneNumberDesc shared_cost = 6;
2011     if (cached_has_bits & 0x00002000u) {
2012       total_size += 1 +
2013         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2014           *shared_cost_);
2015     }
2016 
2017     // optional .i18n.phonenumbers.PhoneNumberDesc personal_number = 7;
2018     if (cached_has_bits & 0x00004000u) {
2019       total_size += 1 +
2020         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2021           *personal_number_);
2022     }
2023 
2024     // optional .i18n.phonenumbers.PhoneNumberDesc voip = 8;
2025     if (cached_has_bits & 0x00008000u) {
2026       total_size += 1 +
2027         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2028           *voip_);
2029     }
2030 
2031   }
2032   if (cached_has_bits & 0x00ff0000u) {
2033     // optional .i18n.phonenumbers.PhoneNumberDesc pager = 21;
2034     if (cached_has_bits & 0x00010000u) {
2035       total_size += 2 +
2036         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2037           *pager_);
2038     }
2039 
2040     // optional .i18n.phonenumbers.PhoneNumberDesc no_international_dialling = 24;
2041     if (cached_has_bits & 0x00020000u) {
2042       total_size += 2 +
2043         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2044           *no_international_dialling_);
2045     }
2046 
2047     // optional .i18n.phonenumbers.PhoneNumberDesc uan = 25;
2048     if (cached_has_bits & 0x00040000u) {
2049       total_size += 2 +
2050         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2051           *uan_);
2052     }
2053 
2054     // optional .i18n.phonenumbers.PhoneNumberDesc emergency = 27;
2055     if (cached_has_bits & 0x00080000u) {
2056       total_size += 2 +
2057         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2058           *emergency_);
2059     }
2060 
2061     // optional .i18n.phonenumbers.PhoneNumberDesc voicemail = 28;
2062     if (cached_has_bits & 0x00100000u) {
2063       total_size += 2 +
2064         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2065           *voicemail_);
2066     }
2067 
2068     // optional .i18n.phonenumbers.PhoneNumberDesc short_code = 29;
2069     if (cached_has_bits & 0x00200000u) {
2070       total_size += 2 +
2071         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2072           *short_code_);
2073     }
2074 
2075     // optional .i18n.phonenumbers.PhoneNumberDesc standard_rate = 30;
2076     if (cached_has_bits & 0x00400000u) {
2077       total_size += 2 +
2078         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2079           *standard_rate_);
2080     }
2081 
2082     // optional .i18n.phonenumbers.PhoneNumberDesc carrier_specific = 31;
2083     if (cached_has_bits & 0x00800000u) {
2084       total_size += 2 +
2085         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2086           *carrier_specific_);
2087     }
2088 
2089   }
2090   if (cached_has_bits & 0x3f000000u) {
2091     // optional .i18n.phonenumbers.PhoneNumberDesc sms_services = 33;
2092     if (cached_has_bits & 0x01000000u) {
2093       total_size += 2 +
2094         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2095           *sms_services_);
2096     }
2097 
2098     // optional int32 country_code = 10;
2099     if (cached_has_bits & 0x02000000u) {
2100       total_size += 1 +
2101         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2102           this->_internal_country_code());
2103     }
2104 
2105     // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
2106     if (cached_has_bits & 0x04000000u) {
2107       total_size += 2 + 1;
2108     }
2109 
2110     // optional bool main_country_for_code = 22 [default = false];
2111     if (cached_has_bits & 0x08000000u) {
2112       total_size += 2 + 1;
2113     }
2114 
2115     // optional bool leading_zero_possible = 26 [default = false];
2116     if (cached_has_bits & 0x10000000u) {
2117       total_size += 2 + 1;
2118     }
2119 
2120     // optional bool mobile_number_portable_region = 32 [default = false];
2121     if (cached_has_bits & 0x20000000u) {
2122       total_size += 2 + 1;
2123     }
2124 
2125   }
2126   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2127     total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
2128   }
2129   int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2130   SetCachedSize(cached_size);
2131   return total_size;
2132 }
2133 
CheckTypeAndMergeFrom(const::PROTOBUF_NAMESPACE_ID::MessageLite & from)2134 void PhoneMetadata::CheckTypeAndMergeFrom(
2135     const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
2136   MergeFrom(*::PROTOBUF_NAMESPACE_ID::internal::DownCast<const PhoneMetadata*>(
2137       &from));
2138 }
2139 
MergeFrom(const PhoneMetadata & from)2140 void PhoneMetadata::MergeFrom(const PhoneMetadata& from) {
2141 // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.PhoneMetadata)
2142   GOOGLE_DCHECK_NE(&from, this);
2143   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
2144   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2145   (void) cached_has_bits;
2146 
2147   number_format_.MergeFrom(from.number_format_);
2148   intl_number_format_.MergeFrom(from.intl_number_format_);
2149   cached_has_bits = from._has_bits_[0];
2150   if (cached_has_bits & 0x000000ffu) {
2151     if (cached_has_bits & 0x00000001u) {
2152       _internal_set_id(from._internal_id());
2153     }
2154     if (cached_has_bits & 0x00000002u) {
2155       _internal_set_international_prefix(from._internal_international_prefix());
2156     }
2157     if (cached_has_bits & 0x00000004u) {
2158       _internal_set_national_prefix(from._internal_national_prefix());
2159     }
2160     if (cached_has_bits & 0x00000008u) {
2161       _internal_set_preferred_extn_prefix(from._internal_preferred_extn_prefix());
2162     }
2163     if (cached_has_bits & 0x00000010u) {
2164       _internal_set_national_prefix_for_parsing(from._internal_national_prefix_for_parsing());
2165     }
2166     if (cached_has_bits & 0x00000020u) {
2167       _internal_set_national_prefix_transform_rule(from._internal_national_prefix_transform_rule());
2168     }
2169     if (cached_has_bits & 0x00000040u) {
2170       _internal_set_preferred_international_prefix(from._internal_preferred_international_prefix());
2171     }
2172     if (cached_has_bits & 0x00000080u) {
2173       _internal_set_leading_digits(from._internal_leading_digits());
2174     }
2175   }
2176   if (cached_has_bits & 0x0000ff00u) {
2177     if (cached_has_bits & 0x00000100u) {
2178       _internal_mutable_general_desc()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_general_desc());
2179     }
2180     if (cached_has_bits & 0x00000200u) {
2181       _internal_mutable_fixed_line()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_fixed_line());
2182     }
2183     if (cached_has_bits & 0x00000400u) {
2184       _internal_mutable_mobile()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_mobile());
2185     }
2186     if (cached_has_bits & 0x00000800u) {
2187       _internal_mutable_toll_free()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_toll_free());
2188     }
2189     if (cached_has_bits & 0x00001000u) {
2190       _internal_mutable_premium_rate()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_premium_rate());
2191     }
2192     if (cached_has_bits & 0x00002000u) {
2193       _internal_mutable_shared_cost()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_shared_cost());
2194     }
2195     if (cached_has_bits & 0x00004000u) {
2196       _internal_mutable_personal_number()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_personal_number());
2197     }
2198     if (cached_has_bits & 0x00008000u) {
2199       _internal_mutable_voip()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_voip());
2200     }
2201   }
2202   if (cached_has_bits & 0x00ff0000u) {
2203     if (cached_has_bits & 0x00010000u) {
2204       _internal_mutable_pager()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_pager());
2205     }
2206     if (cached_has_bits & 0x00020000u) {
2207       _internal_mutable_no_international_dialling()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_no_international_dialling());
2208     }
2209     if (cached_has_bits & 0x00040000u) {
2210       _internal_mutable_uan()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_uan());
2211     }
2212     if (cached_has_bits & 0x00080000u) {
2213       _internal_mutable_emergency()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_emergency());
2214     }
2215     if (cached_has_bits & 0x00100000u) {
2216       _internal_mutable_voicemail()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_voicemail());
2217     }
2218     if (cached_has_bits & 0x00200000u) {
2219       _internal_mutable_short_code()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_short_code());
2220     }
2221     if (cached_has_bits & 0x00400000u) {
2222       _internal_mutable_standard_rate()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_standard_rate());
2223     }
2224     if (cached_has_bits & 0x00800000u) {
2225       _internal_mutable_carrier_specific()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_carrier_specific());
2226     }
2227   }
2228   if (cached_has_bits & 0x3f000000u) {
2229     if (cached_has_bits & 0x01000000u) {
2230       _internal_mutable_sms_services()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_sms_services());
2231     }
2232     if (cached_has_bits & 0x02000000u) {
2233       country_code_ = from.country_code_;
2234     }
2235     if (cached_has_bits & 0x04000000u) {
2236       same_mobile_and_fixed_line_pattern_ = from.same_mobile_and_fixed_line_pattern_;
2237     }
2238     if (cached_has_bits & 0x08000000u) {
2239       main_country_for_code_ = from.main_country_for_code_;
2240     }
2241     if (cached_has_bits & 0x10000000u) {
2242       leading_zero_possible_ = from.leading_zero_possible_;
2243     }
2244     if (cached_has_bits & 0x20000000u) {
2245       mobile_number_portable_region_ = from.mobile_number_portable_region_;
2246     }
2247     _has_bits_[0] |= cached_has_bits;
2248   }
2249 }
2250 
CopyFrom(const PhoneMetadata & from)2251 void PhoneMetadata::CopyFrom(const PhoneMetadata& from) {
2252 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.PhoneMetadata)
2253   if (&from == this) return;
2254   Clear();
2255   MergeFrom(from);
2256 }
2257 
IsInitialized() const2258 bool PhoneMetadata::IsInitialized() const {
2259   if (_Internal::MissingRequiredFields(_has_bits_)) return false;
2260   if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(number_format_)) return false;
2261   if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(intl_number_format_)) return false;
2262   return true;
2263 }
2264 
InternalSwap(PhoneMetadata * other)2265 void PhoneMetadata::InternalSwap(PhoneMetadata* other) {
2266   using std::swap;
2267   _internal_metadata_.Swap<std::string>(&other->_internal_metadata_);
2268   swap(_has_bits_[0], other->_has_bits_[0]);
2269   number_format_.InternalSwap(&other->number_format_);
2270   intl_number_format_.InternalSwap(&other->intl_number_format_);
2271   id_.Swap(&other->id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2272   international_prefix_.Swap(&other->international_prefix_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2273   national_prefix_.Swap(&other->national_prefix_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2274   preferred_extn_prefix_.Swap(&other->preferred_extn_prefix_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2275   national_prefix_for_parsing_.Swap(&other->national_prefix_for_parsing_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2276   national_prefix_transform_rule_.Swap(&other->national_prefix_transform_rule_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2277   preferred_international_prefix_.Swap(&other->preferred_international_prefix_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2278   leading_digits_.Swap(&other->leading_digits_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2279   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2280       PROTOBUF_FIELD_OFFSET(PhoneMetadata, mobile_number_portable_region_)
2281       + sizeof(PhoneMetadata::mobile_number_portable_region_)
2282       - PROTOBUF_FIELD_OFFSET(PhoneMetadata, general_desc_)>(
2283           reinterpret_cast<char*>(&general_desc_),
2284           reinterpret_cast<char*>(&other->general_desc_));
2285 }
2286 
GetTypeName() const2287 std::string PhoneMetadata::GetTypeName() const {
2288   return "i18n.phonenumbers.PhoneMetadata";
2289 }
2290 
2291 
2292 // ===================================================================
2293 
InitAsDefaultInstance()2294 void PhoneMetadataCollection::InitAsDefaultInstance() {
2295 }
2296 class PhoneMetadataCollection::_Internal {
2297  public:
2298 };
2299 
PhoneMetadataCollection(::PROTOBUF_NAMESPACE_ID::Arena * arena)2300 PhoneMetadataCollection::PhoneMetadataCollection(::PROTOBUF_NAMESPACE_ID::Arena* arena)
2301   : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena),
2302   metadata_(arena) {
2303   SharedCtor();
2304   RegisterArenaDtor(arena);
2305   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.PhoneMetadataCollection)
2306 }
PhoneMetadataCollection(const PhoneMetadataCollection & from)2307 PhoneMetadataCollection::PhoneMetadataCollection(const PhoneMetadataCollection& from)
2308   : ::PROTOBUF_NAMESPACE_ID::MessageLite(),
2309       metadata_(from.metadata_) {
2310   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
2311   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.PhoneMetadataCollection)
2312 }
2313 
SharedCtor()2314 void PhoneMetadataCollection::SharedCtor() {
2315   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_PhoneMetadataCollection_phonemetadata_2eproto.base);
2316 }
2317 
~PhoneMetadataCollection()2318 PhoneMetadataCollection::~PhoneMetadataCollection() {
2319   // @@protoc_insertion_point(destructor:i18n.phonenumbers.PhoneMetadataCollection)
2320   SharedDtor();
2321   _internal_metadata_.Delete<std::string>();
2322 }
2323 
SharedDtor()2324 void PhoneMetadataCollection::SharedDtor() {
2325   GOOGLE_DCHECK(GetArena() == nullptr);
2326 }
2327 
ArenaDtor(void * object)2328 void PhoneMetadataCollection::ArenaDtor(void* object) {
2329   PhoneMetadataCollection* _this = reinterpret_cast< PhoneMetadataCollection* >(object);
2330   (void)_this;
2331 }
RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena *)2332 void PhoneMetadataCollection::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2333 }
SetCachedSize(int size) const2334 void PhoneMetadataCollection::SetCachedSize(int size) const {
2335   _cached_size_.Set(size);
2336 }
default_instance()2337 const PhoneMetadataCollection& PhoneMetadataCollection::default_instance() {
2338   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PhoneMetadataCollection_phonemetadata_2eproto.base);
2339   return *internal_default_instance();
2340 }
2341 
2342 
Clear()2343 void PhoneMetadataCollection::Clear() {
2344 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.PhoneMetadataCollection)
2345   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2346   // Prevent compiler warnings about cached_has_bits being unused
2347   (void) cached_has_bits;
2348 
2349   metadata_.Clear();
2350   _internal_metadata_.Clear<std::string>();
2351 }
2352 
_InternalParse(const char * ptr,::PROTOBUF_NAMESPACE_ID::internal::ParseContext * ctx)2353 const char* PhoneMetadataCollection::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2354 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2355   ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
2356   while (!ctx->Done(&ptr)) {
2357     ::PROTOBUF_NAMESPACE_ID::uint32 tag;
2358     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2359     CHK_(ptr);
2360     switch (tag >> 3) {
2361       // repeated .i18n.phonenumbers.PhoneMetadata metadata = 1;
2362       case 1:
2363         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
2364           ptr -= 1;
2365           do {
2366             ptr += 1;
2367             ptr = ctx->ParseMessage(_internal_add_metadata(), ptr);
2368             CHK_(ptr);
2369             if (!ctx->DataAvailable(ptr)) break;
2370           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
2371         } else goto handle_unusual;
2372         continue;
2373       default: {
2374       handle_unusual:
2375         if ((tag & 7) == 4 || tag == 0) {
2376           ctx->SetLastTag(tag);
2377           goto success;
2378         }
2379         ptr = UnknownFieldParse(tag,
2380             _internal_metadata_.mutable_unknown_fields<std::string>(),
2381             ptr, ctx);
2382         CHK_(ptr != nullptr);
2383         continue;
2384       }
2385     }  // switch
2386   }  // while
2387 success:
2388   return ptr;
2389 failure:
2390   ptr = nullptr;
2391   goto success;
2392 #undef CHK_
2393 }
2394 
_InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 * target,::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream * stream) const2395 ::PROTOBUF_NAMESPACE_ID::uint8* PhoneMetadataCollection::_InternalSerialize(
2396     ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2397   // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.PhoneMetadataCollection)
2398   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2399   (void) cached_has_bits;
2400 
2401   // repeated .i18n.phonenumbers.PhoneMetadata metadata = 1;
2402   for (unsigned int i = 0,
2403       n = static_cast<unsigned int>(this->_internal_metadata_size()); i < n; i++) {
2404     target = stream->EnsureSpace(target);
2405     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2406       InternalWriteMessage(1, this->_internal_metadata(i), target, stream);
2407   }
2408 
2409   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2410     target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
2411         static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
2412   }
2413   // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.PhoneMetadataCollection)
2414   return target;
2415 }
2416 
ByteSizeLong() const2417 size_t PhoneMetadataCollection::ByteSizeLong() const {
2418 // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.PhoneMetadataCollection)
2419   size_t total_size = 0;
2420 
2421   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2422   // Prevent compiler warnings about cached_has_bits being unused
2423   (void) cached_has_bits;
2424 
2425   // repeated .i18n.phonenumbers.PhoneMetadata metadata = 1;
2426   total_size += 1UL * this->_internal_metadata_size();
2427   for (const auto& msg : this->metadata_) {
2428     total_size +=
2429       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
2430   }
2431 
2432   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2433     total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
2434   }
2435   int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2436   SetCachedSize(cached_size);
2437   return total_size;
2438 }
2439 
CheckTypeAndMergeFrom(const::PROTOBUF_NAMESPACE_ID::MessageLite & from)2440 void PhoneMetadataCollection::CheckTypeAndMergeFrom(
2441     const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
2442   MergeFrom(*::PROTOBUF_NAMESPACE_ID::internal::DownCast<const PhoneMetadataCollection*>(
2443       &from));
2444 }
2445 
MergeFrom(const PhoneMetadataCollection & from)2446 void PhoneMetadataCollection::MergeFrom(const PhoneMetadataCollection& from) {
2447 // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.PhoneMetadataCollection)
2448   GOOGLE_DCHECK_NE(&from, this);
2449   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
2450   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2451   (void) cached_has_bits;
2452 
2453   metadata_.MergeFrom(from.metadata_);
2454 }
2455 
CopyFrom(const PhoneMetadataCollection & from)2456 void PhoneMetadataCollection::CopyFrom(const PhoneMetadataCollection& from) {
2457 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.PhoneMetadataCollection)
2458   if (&from == this) return;
2459   Clear();
2460   MergeFrom(from);
2461 }
2462 
IsInitialized() const2463 bool PhoneMetadataCollection::IsInitialized() const {
2464   if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(metadata_)) return false;
2465   return true;
2466 }
2467 
InternalSwap(PhoneMetadataCollection * other)2468 void PhoneMetadataCollection::InternalSwap(PhoneMetadataCollection* other) {
2469   using std::swap;
2470   _internal_metadata_.Swap<std::string>(&other->_internal_metadata_);
2471   metadata_.InternalSwap(&other->metadata_);
2472 }
2473 
GetTypeName() const2474 std::string PhoneMetadataCollection::GetTypeName() const {
2475   return "i18n.phonenumbers.PhoneMetadataCollection";
2476 }
2477 
2478 
2479 // @@protoc_insertion_point(namespace_scope)
2480 }  // namespace phonenumbers
2481 }  // namespace i18n
2482 PROTOBUF_NAMESPACE_OPEN
CreateMaybeMessage(Arena * arena)2483 template<> PROTOBUF_NOINLINE ::i18n::phonenumbers::NumberFormat* Arena::CreateMaybeMessage< ::i18n::phonenumbers::NumberFormat >(Arena* arena) {
2484   return Arena::CreateMessageInternal< ::i18n::phonenumbers::NumberFormat >(arena);
2485 }
CreateMaybeMessage(Arena * arena)2486 template<> PROTOBUF_NOINLINE ::i18n::phonenumbers::PhoneNumberDesc* Arena::CreateMaybeMessage< ::i18n::phonenumbers::PhoneNumberDesc >(Arena* arena) {
2487   return Arena::CreateMessageInternal< ::i18n::phonenumbers::PhoneNumberDesc >(arena);
2488 }
CreateMaybeMessage(Arena * arena)2489 template<> PROTOBUF_NOINLINE ::i18n::phonenumbers::PhoneMetadata* Arena::CreateMaybeMessage< ::i18n::phonenumbers::PhoneMetadata >(Arena* arena) {
2490   return Arena::CreateMessageInternal< ::i18n::phonenumbers::PhoneMetadata >(arena);
2491 }
CreateMaybeMessage(Arena * arena)2492 template<> PROTOBUF_NOINLINE ::i18n::phonenumbers::PhoneMetadataCollection* Arena::CreateMaybeMessage< ::i18n::phonenumbers::PhoneMetadataCollection >(Arena* arena) {
2493   return Arena::CreateMessageInternal< ::i18n::phonenumbers::PhoneMetadataCollection >(arena);
2494 }
2495 PROTOBUF_NAMESPACE_CLOSE
2496 
2497 // @@protoc_insertion_point(global_scope)
2498 #include <google/protobuf/port_undef.inc>
2499