• 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_mobile_number_portable_region(HasBits * has_bits)965   static void set_has_mobile_number_portable_region(HasBits* has_bits) {
966     (*has_bits)[0] |= 268435456u;
967   }
MissingRequiredFields(const HasBits & has_bits)968   static bool MissingRequiredFields(const HasBits& has_bits) {
969     return ((has_bits[0] & 0x00000001) ^ 0x00000001) != 0;
970   }
971 };
972 
973 const ::i18n::phonenumbers::PhoneNumberDesc&
general_desc(const PhoneMetadata * msg)974 PhoneMetadata::_Internal::general_desc(const PhoneMetadata* msg) {
975   return *msg->general_desc_;
976 }
977 const ::i18n::phonenumbers::PhoneNumberDesc&
fixed_line(const PhoneMetadata * msg)978 PhoneMetadata::_Internal::fixed_line(const PhoneMetadata* msg) {
979   return *msg->fixed_line_;
980 }
981 const ::i18n::phonenumbers::PhoneNumberDesc&
mobile(const PhoneMetadata * msg)982 PhoneMetadata::_Internal::mobile(const PhoneMetadata* msg) {
983   return *msg->mobile_;
984 }
985 const ::i18n::phonenumbers::PhoneNumberDesc&
toll_free(const PhoneMetadata * msg)986 PhoneMetadata::_Internal::toll_free(const PhoneMetadata* msg) {
987   return *msg->toll_free_;
988 }
989 const ::i18n::phonenumbers::PhoneNumberDesc&
premium_rate(const PhoneMetadata * msg)990 PhoneMetadata::_Internal::premium_rate(const PhoneMetadata* msg) {
991   return *msg->premium_rate_;
992 }
993 const ::i18n::phonenumbers::PhoneNumberDesc&
shared_cost(const PhoneMetadata * msg)994 PhoneMetadata::_Internal::shared_cost(const PhoneMetadata* msg) {
995   return *msg->shared_cost_;
996 }
997 const ::i18n::phonenumbers::PhoneNumberDesc&
personal_number(const PhoneMetadata * msg)998 PhoneMetadata::_Internal::personal_number(const PhoneMetadata* msg) {
999   return *msg->personal_number_;
1000 }
1001 const ::i18n::phonenumbers::PhoneNumberDesc&
voip(const PhoneMetadata * msg)1002 PhoneMetadata::_Internal::voip(const PhoneMetadata* msg) {
1003   return *msg->voip_;
1004 }
1005 const ::i18n::phonenumbers::PhoneNumberDesc&
pager(const PhoneMetadata * msg)1006 PhoneMetadata::_Internal::pager(const PhoneMetadata* msg) {
1007   return *msg->pager_;
1008 }
1009 const ::i18n::phonenumbers::PhoneNumberDesc&
uan(const PhoneMetadata * msg)1010 PhoneMetadata::_Internal::uan(const PhoneMetadata* msg) {
1011   return *msg->uan_;
1012 }
1013 const ::i18n::phonenumbers::PhoneNumberDesc&
emergency(const PhoneMetadata * msg)1014 PhoneMetadata::_Internal::emergency(const PhoneMetadata* msg) {
1015   return *msg->emergency_;
1016 }
1017 const ::i18n::phonenumbers::PhoneNumberDesc&
voicemail(const PhoneMetadata * msg)1018 PhoneMetadata::_Internal::voicemail(const PhoneMetadata* msg) {
1019   return *msg->voicemail_;
1020 }
1021 const ::i18n::phonenumbers::PhoneNumberDesc&
short_code(const PhoneMetadata * msg)1022 PhoneMetadata::_Internal::short_code(const PhoneMetadata* msg) {
1023   return *msg->short_code_;
1024 }
1025 const ::i18n::phonenumbers::PhoneNumberDesc&
standard_rate(const PhoneMetadata * msg)1026 PhoneMetadata::_Internal::standard_rate(const PhoneMetadata* msg) {
1027   return *msg->standard_rate_;
1028 }
1029 const ::i18n::phonenumbers::PhoneNumberDesc&
carrier_specific(const PhoneMetadata * msg)1030 PhoneMetadata::_Internal::carrier_specific(const PhoneMetadata* msg) {
1031   return *msg->carrier_specific_;
1032 }
1033 const ::i18n::phonenumbers::PhoneNumberDesc&
sms_services(const PhoneMetadata * msg)1034 PhoneMetadata::_Internal::sms_services(const PhoneMetadata* msg) {
1035   return *msg->sms_services_;
1036 }
1037 const ::i18n::phonenumbers::PhoneNumberDesc&
no_international_dialling(const PhoneMetadata * msg)1038 PhoneMetadata::_Internal::no_international_dialling(const PhoneMetadata* msg) {
1039   return *msg->no_international_dialling_;
1040 }
PhoneMetadata(::PROTOBUF_NAMESPACE_ID::Arena * arena)1041 PhoneMetadata::PhoneMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1042   : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena),
1043   number_format_(arena),
1044   intl_number_format_(arena) {
1045   SharedCtor();
1046   RegisterArenaDtor(arena);
1047   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.PhoneMetadata)
1048 }
PhoneMetadata(const PhoneMetadata & from)1049 PhoneMetadata::PhoneMetadata(const PhoneMetadata& from)
1050   : ::PROTOBUF_NAMESPACE_ID::MessageLite(),
1051       _has_bits_(from._has_bits_),
1052       number_format_(from.number_format_),
1053       intl_number_format_(from.intl_number_format_) {
1054   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
1055   id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1056   if (from._internal_has_id()) {
1057     id_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_id(),
1058       GetArena());
1059   }
1060   international_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1061   if (from._internal_has_international_prefix()) {
1062     international_prefix_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_international_prefix(),
1063       GetArena());
1064   }
1065   national_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1066   if (from._internal_has_national_prefix()) {
1067     national_prefix_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_national_prefix(),
1068       GetArena());
1069   }
1070   preferred_extn_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1071   if (from._internal_has_preferred_extn_prefix()) {
1072     preferred_extn_prefix_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_preferred_extn_prefix(),
1073       GetArena());
1074   }
1075   national_prefix_for_parsing_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1076   if (from._internal_has_national_prefix_for_parsing()) {
1077     national_prefix_for_parsing_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_national_prefix_for_parsing(),
1078       GetArena());
1079   }
1080   national_prefix_transform_rule_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1081   if (from._internal_has_national_prefix_transform_rule()) {
1082     national_prefix_transform_rule_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_national_prefix_transform_rule(),
1083       GetArena());
1084   }
1085   preferred_international_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1086   if (from._internal_has_preferred_international_prefix()) {
1087     preferred_international_prefix_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_preferred_international_prefix(),
1088       GetArena());
1089   }
1090   leading_digits_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1091   if (from._internal_has_leading_digits()) {
1092     leading_digits_.SetLite(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_leading_digits(),
1093       GetArena());
1094   }
1095   if (from._internal_has_general_desc()) {
1096     general_desc_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.general_desc_);
1097   } else {
1098     general_desc_ = nullptr;
1099   }
1100   if (from._internal_has_fixed_line()) {
1101     fixed_line_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.fixed_line_);
1102   } else {
1103     fixed_line_ = nullptr;
1104   }
1105   if (from._internal_has_mobile()) {
1106     mobile_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.mobile_);
1107   } else {
1108     mobile_ = nullptr;
1109   }
1110   if (from._internal_has_toll_free()) {
1111     toll_free_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.toll_free_);
1112   } else {
1113     toll_free_ = nullptr;
1114   }
1115   if (from._internal_has_premium_rate()) {
1116     premium_rate_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.premium_rate_);
1117   } else {
1118     premium_rate_ = nullptr;
1119   }
1120   if (from._internal_has_shared_cost()) {
1121     shared_cost_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.shared_cost_);
1122   } else {
1123     shared_cost_ = nullptr;
1124   }
1125   if (from._internal_has_personal_number()) {
1126     personal_number_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.personal_number_);
1127   } else {
1128     personal_number_ = nullptr;
1129   }
1130   if (from._internal_has_voip()) {
1131     voip_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.voip_);
1132   } else {
1133     voip_ = nullptr;
1134   }
1135   if (from._internal_has_pager()) {
1136     pager_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.pager_);
1137   } else {
1138     pager_ = nullptr;
1139   }
1140   if (from._internal_has_no_international_dialling()) {
1141     no_international_dialling_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.no_international_dialling_);
1142   } else {
1143     no_international_dialling_ = nullptr;
1144   }
1145   if (from._internal_has_uan()) {
1146     uan_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.uan_);
1147   } else {
1148     uan_ = nullptr;
1149   }
1150   if (from._internal_has_emergency()) {
1151     emergency_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.emergency_);
1152   } else {
1153     emergency_ = nullptr;
1154   }
1155   if (from._internal_has_voicemail()) {
1156     voicemail_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.voicemail_);
1157   } else {
1158     voicemail_ = nullptr;
1159   }
1160   if (from._internal_has_short_code()) {
1161     short_code_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.short_code_);
1162   } else {
1163     short_code_ = nullptr;
1164   }
1165   if (from._internal_has_standard_rate()) {
1166     standard_rate_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.standard_rate_);
1167   } else {
1168     standard_rate_ = nullptr;
1169   }
1170   if (from._internal_has_carrier_specific()) {
1171     carrier_specific_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.carrier_specific_);
1172   } else {
1173     carrier_specific_ = nullptr;
1174   }
1175   if (from._internal_has_sms_services()) {
1176     sms_services_ = new ::i18n::phonenumbers::PhoneNumberDesc(*from.sms_services_);
1177   } else {
1178     sms_services_ = nullptr;
1179   }
1180   ::memcpy(&country_code_, &from.country_code_,
1181     static_cast<size_t>(reinterpret_cast<char*>(&mobile_number_portable_region_) -
1182     reinterpret_cast<char*>(&country_code_)) + sizeof(mobile_number_portable_region_));
1183   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.PhoneMetadata)
1184 }
1185 
SharedCtor()1186 void PhoneMetadata::SharedCtor() {
1187   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_PhoneMetadata_phonemetadata_2eproto.base);
1188   id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1189   international_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1190   national_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1191   preferred_extn_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1192   national_prefix_for_parsing_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1193   national_prefix_transform_rule_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1194   preferred_international_prefix_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1195   leading_digits_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1196   ::memset(&general_desc_, 0, static_cast<size_t>(
1197       reinterpret_cast<char*>(&mobile_number_portable_region_) -
1198       reinterpret_cast<char*>(&general_desc_)) + sizeof(mobile_number_portable_region_));
1199 }
1200 
~PhoneMetadata()1201 PhoneMetadata::~PhoneMetadata() {
1202   // @@protoc_insertion_point(destructor:i18n.phonenumbers.PhoneMetadata)
1203   SharedDtor();
1204   _internal_metadata_.Delete<std::string>();
1205 }
1206 
SharedDtor()1207 void PhoneMetadata::SharedDtor() {
1208   GOOGLE_DCHECK(GetArena() == nullptr);
1209   id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1210   international_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1211   national_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1212   preferred_extn_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1213   national_prefix_for_parsing_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1214   national_prefix_transform_rule_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1215   preferred_international_prefix_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1216   leading_digits_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1217   if (this != internal_default_instance()) delete general_desc_;
1218   if (this != internal_default_instance()) delete fixed_line_;
1219   if (this != internal_default_instance()) delete mobile_;
1220   if (this != internal_default_instance()) delete toll_free_;
1221   if (this != internal_default_instance()) delete premium_rate_;
1222   if (this != internal_default_instance()) delete shared_cost_;
1223   if (this != internal_default_instance()) delete personal_number_;
1224   if (this != internal_default_instance()) delete voip_;
1225   if (this != internal_default_instance()) delete pager_;
1226   if (this != internal_default_instance()) delete no_international_dialling_;
1227   if (this != internal_default_instance()) delete uan_;
1228   if (this != internal_default_instance()) delete emergency_;
1229   if (this != internal_default_instance()) delete voicemail_;
1230   if (this != internal_default_instance()) delete short_code_;
1231   if (this != internal_default_instance()) delete standard_rate_;
1232   if (this != internal_default_instance()) delete carrier_specific_;
1233   if (this != internal_default_instance()) delete sms_services_;
1234 }
1235 
ArenaDtor(void * object)1236 void PhoneMetadata::ArenaDtor(void* object) {
1237   PhoneMetadata* _this = reinterpret_cast< PhoneMetadata* >(object);
1238   (void)_this;
1239 }
RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena *)1240 void PhoneMetadata::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1241 }
SetCachedSize(int size) const1242 void PhoneMetadata::SetCachedSize(int size) const {
1243   _cached_size_.Set(size);
1244 }
default_instance()1245 const PhoneMetadata& PhoneMetadata::default_instance() {
1246   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PhoneMetadata_phonemetadata_2eproto.base);
1247   return *internal_default_instance();
1248 }
1249 
1250 
Clear()1251 void PhoneMetadata::Clear() {
1252 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.PhoneMetadata)
1253   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1254   // Prevent compiler warnings about cached_has_bits being unused
1255   (void) cached_has_bits;
1256 
1257   number_format_.Clear();
1258   intl_number_format_.Clear();
1259   cached_has_bits = _has_bits_[0];
1260   if (cached_has_bits & 0x000000ffu) {
1261     if (cached_has_bits & 0x00000001u) {
1262       id_.ClearNonDefaultToEmpty();
1263     }
1264     if (cached_has_bits & 0x00000002u) {
1265       international_prefix_.ClearNonDefaultToEmpty();
1266     }
1267     if (cached_has_bits & 0x00000004u) {
1268       national_prefix_.ClearNonDefaultToEmpty();
1269     }
1270     if (cached_has_bits & 0x00000008u) {
1271       preferred_extn_prefix_.ClearNonDefaultToEmpty();
1272     }
1273     if (cached_has_bits & 0x00000010u) {
1274       national_prefix_for_parsing_.ClearNonDefaultToEmpty();
1275     }
1276     if (cached_has_bits & 0x00000020u) {
1277       national_prefix_transform_rule_.ClearNonDefaultToEmpty();
1278     }
1279     if (cached_has_bits & 0x00000040u) {
1280       preferred_international_prefix_.ClearNonDefaultToEmpty();
1281     }
1282     if (cached_has_bits & 0x00000080u) {
1283       leading_digits_.ClearNonDefaultToEmpty();
1284     }
1285   }
1286   if (cached_has_bits & 0x0000ff00u) {
1287     if (cached_has_bits & 0x00000100u) {
1288       GOOGLE_DCHECK(general_desc_ != nullptr);
1289       general_desc_->Clear();
1290     }
1291     if (cached_has_bits & 0x00000200u) {
1292       GOOGLE_DCHECK(fixed_line_ != nullptr);
1293       fixed_line_->Clear();
1294     }
1295     if (cached_has_bits & 0x00000400u) {
1296       GOOGLE_DCHECK(mobile_ != nullptr);
1297       mobile_->Clear();
1298     }
1299     if (cached_has_bits & 0x00000800u) {
1300       GOOGLE_DCHECK(toll_free_ != nullptr);
1301       toll_free_->Clear();
1302     }
1303     if (cached_has_bits & 0x00001000u) {
1304       GOOGLE_DCHECK(premium_rate_ != nullptr);
1305       premium_rate_->Clear();
1306     }
1307     if (cached_has_bits & 0x00002000u) {
1308       GOOGLE_DCHECK(shared_cost_ != nullptr);
1309       shared_cost_->Clear();
1310     }
1311     if (cached_has_bits & 0x00004000u) {
1312       GOOGLE_DCHECK(personal_number_ != nullptr);
1313       personal_number_->Clear();
1314     }
1315     if (cached_has_bits & 0x00008000u) {
1316       GOOGLE_DCHECK(voip_ != nullptr);
1317       voip_->Clear();
1318     }
1319   }
1320   if (cached_has_bits & 0x00ff0000u) {
1321     if (cached_has_bits & 0x00010000u) {
1322       GOOGLE_DCHECK(pager_ != nullptr);
1323       pager_->Clear();
1324     }
1325     if (cached_has_bits & 0x00020000u) {
1326       GOOGLE_DCHECK(no_international_dialling_ != nullptr);
1327       no_international_dialling_->Clear();
1328     }
1329     if (cached_has_bits & 0x00040000u) {
1330       GOOGLE_DCHECK(uan_ != nullptr);
1331       uan_->Clear();
1332     }
1333     if (cached_has_bits & 0x00080000u) {
1334       GOOGLE_DCHECK(emergency_ != nullptr);
1335       emergency_->Clear();
1336     }
1337     if (cached_has_bits & 0x00100000u) {
1338       GOOGLE_DCHECK(voicemail_ != nullptr);
1339       voicemail_->Clear();
1340     }
1341     if (cached_has_bits & 0x00200000u) {
1342       GOOGLE_DCHECK(short_code_ != nullptr);
1343       short_code_->Clear();
1344     }
1345     if (cached_has_bits & 0x00400000u) {
1346       GOOGLE_DCHECK(standard_rate_ != nullptr);
1347       standard_rate_->Clear();
1348     }
1349     if (cached_has_bits & 0x00800000u) {
1350       GOOGLE_DCHECK(carrier_specific_ != nullptr);
1351       carrier_specific_->Clear();
1352     }
1353   }
1354   if (cached_has_bits & 0x01000000u) {
1355     GOOGLE_DCHECK(sms_services_ != nullptr);
1356     sms_services_->Clear();
1357   }
1358   if (cached_has_bits & 0x1e000000u) {
1359     ::memset(&country_code_, 0, static_cast<size_t>(
1360         reinterpret_cast<char*>(&mobile_number_portable_region_) -
1361         reinterpret_cast<char*>(&country_code_)) + sizeof(mobile_number_portable_region_));
1362   }
1363   _has_bits_.Clear();
1364   _internal_metadata_.Clear<std::string>();
1365 }
1366 
_InternalParse(const char * ptr,::PROTOBUF_NAMESPACE_ID::internal::ParseContext * ctx)1367 const char* PhoneMetadata::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1368 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1369   _Internal::HasBits has_bits{};
1370   ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
1371   while (!ctx->Done(&ptr)) {
1372     ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1373     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1374     CHK_(ptr);
1375     switch (tag >> 3) {
1376       // optional .i18n.phonenumbers.PhoneNumberDesc general_desc = 1;
1377       case 1:
1378         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1379           ptr = ctx->ParseMessage(_internal_mutable_general_desc(), ptr);
1380           CHK_(ptr);
1381         } else goto handle_unusual;
1382         continue;
1383       // optional .i18n.phonenumbers.PhoneNumberDesc fixed_line = 2;
1384       case 2:
1385         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
1386           ptr = ctx->ParseMessage(_internal_mutable_fixed_line(), ptr);
1387           CHK_(ptr);
1388         } else goto handle_unusual;
1389         continue;
1390       // optional .i18n.phonenumbers.PhoneNumberDesc mobile = 3;
1391       case 3:
1392         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
1393           ptr = ctx->ParseMessage(_internal_mutable_mobile(), ptr);
1394           CHK_(ptr);
1395         } else goto handle_unusual;
1396         continue;
1397       // optional .i18n.phonenumbers.PhoneNumberDesc toll_free = 4;
1398       case 4:
1399         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
1400           ptr = ctx->ParseMessage(_internal_mutable_toll_free(), ptr);
1401           CHK_(ptr);
1402         } else goto handle_unusual;
1403         continue;
1404       // optional .i18n.phonenumbers.PhoneNumberDesc premium_rate = 5;
1405       case 5:
1406         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
1407           ptr = ctx->ParseMessage(_internal_mutable_premium_rate(), ptr);
1408           CHK_(ptr);
1409         } else goto handle_unusual;
1410         continue;
1411       // optional .i18n.phonenumbers.PhoneNumberDesc shared_cost = 6;
1412       case 6:
1413         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
1414           ptr = ctx->ParseMessage(_internal_mutable_shared_cost(), ptr);
1415           CHK_(ptr);
1416         } else goto handle_unusual;
1417         continue;
1418       // optional .i18n.phonenumbers.PhoneNumberDesc personal_number = 7;
1419       case 7:
1420         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
1421           ptr = ctx->ParseMessage(_internal_mutable_personal_number(), ptr);
1422           CHK_(ptr);
1423         } else goto handle_unusual;
1424         continue;
1425       // optional .i18n.phonenumbers.PhoneNumberDesc voip = 8;
1426       case 8:
1427         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
1428           ptr = ctx->ParseMessage(_internal_mutable_voip(), ptr);
1429           CHK_(ptr);
1430         } else goto handle_unusual;
1431         continue;
1432       // required string id = 9;
1433       case 9:
1434         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
1435           auto str = _internal_mutable_id();
1436           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1437           CHK_(ptr);
1438         } else goto handle_unusual;
1439         continue;
1440       // optional int32 country_code = 10;
1441       case 10:
1442         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
1443           _Internal::set_has_country_code(&has_bits);
1444           country_code_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1445           CHK_(ptr);
1446         } else goto handle_unusual;
1447         continue;
1448       // optional string international_prefix = 11;
1449       case 11:
1450         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
1451           auto str = _internal_mutable_international_prefix();
1452           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1453           CHK_(ptr);
1454         } else goto handle_unusual;
1455         continue;
1456       // optional string national_prefix = 12;
1457       case 12:
1458         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
1459           auto str = _internal_mutable_national_prefix();
1460           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1461           CHK_(ptr);
1462         } else goto handle_unusual;
1463         continue;
1464       // optional string preferred_extn_prefix = 13;
1465       case 13:
1466         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
1467           auto str = _internal_mutable_preferred_extn_prefix();
1468           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1469           CHK_(ptr);
1470         } else goto handle_unusual;
1471         continue;
1472       // optional string national_prefix_for_parsing = 15;
1473       case 15:
1474         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
1475           auto str = _internal_mutable_national_prefix_for_parsing();
1476           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1477           CHK_(ptr);
1478         } else goto handle_unusual;
1479         continue;
1480       // optional string national_prefix_transform_rule = 16;
1481       case 16:
1482         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
1483           auto str = _internal_mutable_national_prefix_transform_rule();
1484           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1485           CHK_(ptr);
1486         } else goto handle_unusual;
1487         continue;
1488       // optional string preferred_international_prefix = 17;
1489       case 17:
1490         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
1491           auto str = _internal_mutable_preferred_international_prefix();
1492           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1493           CHK_(ptr);
1494         } else goto handle_unusual;
1495         continue;
1496       // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
1497       case 18:
1498         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
1499           _Internal::set_has_same_mobile_and_fixed_line_pattern(&has_bits);
1500           same_mobile_and_fixed_line_pattern_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1501           CHK_(ptr);
1502         } else goto handle_unusual;
1503         continue;
1504       // repeated .i18n.phonenumbers.NumberFormat number_format = 19;
1505       case 19:
1506         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
1507           ptr -= 2;
1508           do {
1509             ptr += 2;
1510             ptr = ctx->ParseMessage(_internal_add_number_format(), ptr);
1511             CHK_(ptr);
1512             if (!ctx->DataAvailable(ptr)) break;
1513           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<154>(ptr));
1514         } else goto handle_unusual;
1515         continue;
1516       // repeated .i18n.phonenumbers.NumberFormat intl_number_format = 20;
1517       case 20:
1518         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
1519           ptr -= 2;
1520           do {
1521             ptr += 2;
1522             ptr = ctx->ParseMessage(_internal_add_intl_number_format(), ptr);
1523             CHK_(ptr);
1524             if (!ctx->DataAvailable(ptr)) break;
1525           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<162>(ptr));
1526         } else goto handle_unusual;
1527         continue;
1528       // optional .i18n.phonenumbers.PhoneNumberDesc pager = 21;
1529       case 21:
1530         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
1531           ptr = ctx->ParseMessage(_internal_mutable_pager(), ptr);
1532           CHK_(ptr);
1533         } else goto handle_unusual;
1534         continue;
1535       // optional bool main_country_for_code = 22 [default = false];
1536       case 22:
1537         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
1538           _Internal::set_has_main_country_for_code(&has_bits);
1539           main_country_for_code_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1540           CHK_(ptr);
1541         } else goto handle_unusual;
1542         continue;
1543       // optional string leading_digits = 23;
1544       case 23:
1545         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
1546           auto str = _internal_mutable_leading_digits();
1547           ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1548           CHK_(ptr);
1549         } else goto handle_unusual;
1550         continue;
1551       // optional .i18n.phonenumbers.PhoneNumberDesc no_international_dialling = 24;
1552       case 24:
1553         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
1554           ptr = ctx->ParseMessage(_internal_mutable_no_international_dialling(), ptr);
1555           CHK_(ptr);
1556         } else goto handle_unusual;
1557         continue;
1558       // optional .i18n.phonenumbers.PhoneNumberDesc uan = 25;
1559       case 25:
1560         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
1561           ptr = ctx->ParseMessage(_internal_mutable_uan(), ptr);
1562           CHK_(ptr);
1563         } else goto handle_unusual;
1564         continue;
1565       // optional .i18n.phonenumbers.PhoneNumberDesc emergency = 27;
1566       case 27:
1567         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
1568           ptr = ctx->ParseMessage(_internal_mutable_emergency(), ptr);
1569           CHK_(ptr);
1570         } else goto handle_unusual;
1571         continue;
1572       // optional .i18n.phonenumbers.PhoneNumberDesc voicemail = 28;
1573       case 28:
1574         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
1575           ptr = ctx->ParseMessage(_internal_mutable_voicemail(), ptr);
1576           CHK_(ptr);
1577         } else goto handle_unusual;
1578         continue;
1579       // optional .i18n.phonenumbers.PhoneNumberDesc short_code = 29;
1580       case 29:
1581         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
1582           ptr = ctx->ParseMessage(_internal_mutable_short_code(), ptr);
1583           CHK_(ptr);
1584         } else goto handle_unusual;
1585         continue;
1586       // optional .i18n.phonenumbers.PhoneNumberDesc standard_rate = 30;
1587       case 30:
1588         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
1589           ptr = ctx->ParseMessage(_internal_mutable_standard_rate(), ptr);
1590           CHK_(ptr);
1591         } else goto handle_unusual;
1592         continue;
1593       // optional .i18n.phonenumbers.PhoneNumberDesc carrier_specific = 31;
1594       case 31:
1595         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
1596           ptr = ctx->ParseMessage(_internal_mutable_carrier_specific(), ptr);
1597           CHK_(ptr);
1598         } else goto handle_unusual;
1599         continue;
1600       // optional bool mobile_number_portable_region = 32 [default = false];
1601       case 32:
1602         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 0)) {
1603           _Internal::set_has_mobile_number_portable_region(&has_bits);
1604           mobile_number_portable_region_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1605           CHK_(ptr);
1606         } else goto handle_unusual;
1607         continue;
1608       // optional .i18n.phonenumbers.PhoneNumberDesc sms_services = 33;
1609       case 33:
1610         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1611           ptr = ctx->ParseMessage(_internal_mutable_sms_services(), ptr);
1612           CHK_(ptr);
1613         } else goto handle_unusual;
1614         continue;
1615       default: {
1616       handle_unusual:
1617         if ((tag & 7) == 4 || tag == 0) {
1618           ctx->SetLastTag(tag);
1619           goto success;
1620         }
1621         ptr = UnknownFieldParse(tag,
1622             _internal_metadata_.mutable_unknown_fields<std::string>(),
1623             ptr, ctx);
1624         CHK_(ptr != nullptr);
1625         continue;
1626       }
1627     }  // switch
1628   }  // while
1629 success:
1630   _has_bits_.Or(has_bits);
1631   return ptr;
1632 failure:
1633   ptr = nullptr;
1634   goto success;
1635 #undef CHK_
1636 }
1637 
_InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 * target,::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream * stream) const1638 ::PROTOBUF_NAMESPACE_ID::uint8* PhoneMetadata::_InternalSerialize(
1639     ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1640   // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.PhoneMetadata)
1641   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1642   (void) cached_has_bits;
1643 
1644   cached_has_bits = _has_bits_[0];
1645   // optional .i18n.phonenumbers.PhoneNumberDesc general_desc = 1;
1646   if (cached_has_bits & 0x00000100u) {
1647     target = stream->EnsureSpace(target);
1648     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1649       InternalWriteMessage(
1650         1, _Internal::general_desc(this), target, stream);
1651   }
1652 
1653   // optional .i18n.phonenumbers.PhoneNumberDesc fixed_line = 2;
1654   if (cached_has_bits & 0x00000200u) {
1655     target = stream->EnsureSpace(target);
1656     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1657       InternalWriteMessage(
1658         2, _Internal::fixed_line(this), target, stream);
1659   }
1660 
1661   // optional .i18n.phonenumbers.PhoneNumberDesc mobile = 3;
1662   if (cached_has_bits & 0x00000400u) {
1663     target = stream->EnsureSpace(target);
1664     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1665       InternalWriteMessage(
1666         3, _Internal::mobile(this), target, stream);
1667   }
1668 
1669   // optional .i18n.phonenumbers.PhoneNumberDesc toll_free = 4;
1670   if (cached_has_bits & 0x00000800u) {
1671     target = stream->EnsureSpace(target);
1672     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1673       InternalWriteMessage(
1674         4, _Internal::toll_free(this), target, stream);
1675   }
1676 
1677   // optional .i18n.phonenumbers.PhoneNumberDesc premium_rate = 5;
1678   if (cached_has_bits & 0x00001000u) {
1679     target = stream->EnsureSpace(target);
1680     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1681       InternalWriteMessage(
1682         5, _Internal::premium_rate(this), target, stream);
1683   }
1684 
1685   // optional .i18n.phonenumbers.PhoneNumberDesc shared_cost = 6;
1686   if (cached_has_bits & 0x00002000u) {
1687     target = stream->EnsureSpace(target);
1688     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1689       InternalWriteMessage(
1690         6, _Internal::shared_cost(this), target, stream);
1691   }
1692 
1693   // optional .i18n.phonenumbers.PhoneNumberDesc personal_number = 7;
1694   if (cached_has_bits & 0x00004000u) {
1695     target = stream->EnsureSpace(target);
1696     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1697       InternalWriteMessage(
1698         7, _Internal::personal_number(this), target, stream);
1699   }
1700 
1701   // optional .i18n.phonenumbers.PhoneNumberDesc voip = 8;
1702   if (cached_has_bits & 0x00008000u) {
1703     target = stream->EnsureSpace(target);
1704     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1705       InternalWriteMessage(
1706         8, _Internal::voip(this), target, stream);
1707   }
1708 
1709   // required string id = 9;
1710   if (cached_has_bits & 0x00000001u) {
1711     target = stream->WriteStringMaybeAliased(
1712         9, this->_internal_id(), target);
1713   }
1714 
1715   // optional int32 country_code = 10;
1716   if (cached_has_bits & 0x02000000u) {
1717     target = stream->EnsureSpace(target);
1718     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_country_code(), target);
1719   }
1720 
1721   // optional string international_prefix = 11;
1722   if (cached_has_bits & 0x00000002u) {
1723     target = stream->WriteStringMaybeAliased(
1724         11, this->_internal_international_prefix(), target);
1725   }
1726 
1727   // optional string national_prefix = 12;
1728   if (cached_has_bits & 0x00000004u) {
1729     target = stream->WriteStringMaybeAliased(
1730         12, this->_internal_national_prefix(), target);
1731   }
1732 
1733   // optional string preferred_extn_prefix = 13;
1734   if (cached_has_bits & 0x00000008u) {
1735     target = stream->WriteStringMaybeAliased(
1736         13, this->_internal_preferred_extn_prefix(), target);
1737   }
1738 
1739   // optional string national_prefix_for_parsing = 15;
1740   if (cached_has_bits & 0x00000010u) {
1741     target = stream->WriteStringMaybeAliased(
1742         15, this->_internal_national_prefix_for_parsing(), target);
1743   }
1744 
1745   // optional string national_prefix_transform_rule = 16;
1746   if (cached_has_bits & 0x00000020u) {
1747     target = stream->WriteStringMaybeAliased(
1748         16, this->_internal_national_prefix_transform_rule(), target);
1749   }
1750 
1751   // optional string preferred_international_prefix = 17;
1752   if (cached_has_bits & 0x00000040u) {
1753     target = stream->WriteStringMaybeAliased(
1754         17, this->_internal_preferred_international_prefix(), target);
1755   }
1756 
1757   // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
1758   if (cached_has_bits & 0x04000000u) {
1759     target = stream->EnsureSpace(target);
1760     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(18, this->_internal_same_mobile_and_fixed_line_pattern(), target);
1761   }
1762 
1763   // repeated .i18n.phonenumbers.NumberFormat number_format = 19;
1764   for (unsigned int i = 0,
1765       n = static_cast<unsigned int>(this->_internal_number_format_size()); i < n; i++) {
1766     target = stream->EnsureSpace(target);
1767     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1768       InternalWriteMessage(19, this->_internal_number_format(i), target, stream);
1769   }
1770 
1771   // repeated .i18n.phonenumbers.NumberFormat intl_number_format = 20;
1772   for (unsigned int i = 0,
1773       n = static_cast<unsigned int>(this->_internal_intl_number_format_size()); i < n; i++) {
1774     target = stream->EnsureSpace(target);
1775     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1776       InternalWriteMessage(20, this->_internal_intl_number_format(i), target, stream);
1777   }
1778 
1779   // optional .i18n.phonenumbers.PhoneNumberDesc pager = 21;
1780   if (cached_has_bits & 0x00010000u) {
1781     target = stream->EnsureSpace(target);
1782     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1783       InternalWriteMessage(
1784         21, _Internal::pager(this), target, stream);
1785   }
1786 
1787   // optional bool main_country_for_code = 22 [default = false];
1788   if (cached_has_bits & 0x08000000u) {
1789     target = stream->EnsureSpace(target);
1790     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(22, this->_internal_main_country_for_code(), target);
1791   }
1792 
1793   // optional string leading_digits = 23;
1794   if (cached_has_bits & 0x00000080u) {
1795     target = stream->WriteStringMaybeAliased(
1796         23, this->_internal_leading_digits(), target);
1797   }
1798 
1799   // optional .i18n.phonenumbers.PhoneNumberDesc no_international_dialling = 24;
1800   if (cached_has_bits & 0x00020000u) {
1801     target = stream->EnsureSpace(target);
1802     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1803       InternalWriteMessage(
1804         24, _Internal::no_international_dialling(this), target, stream);
1805   }
1806 
1807   // optional .i18n.phonenumbers.PhoneNumberDesc uan = 25;
1808   if (cached_has_bits & 0x00040000u) {
1809     target = stream->EnsureSpace(target);
1810     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1811       InternalWriteMessage(
1812         25, _Internal::uan(this), target, stream);
1813   }
1814 
1815   // optional .i18n.phonenumbers.PhoneNumberDesc emergency = 27;
1816   if (cached_has_bits & 0x00080000u) {
1817     target = stream->EnsureSpace(target);
1818     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1819       InternalWriteMessage(
1820         27, _Internal::emergency(this), target, stream);
1821   }
1822 
1823   // optional .i18n.phonenumbers.PhoneNumberDesc voicemail = 28;
1824   if (cached_has_bits & 0x00100000u) {
1825     target = stream->EnsureSpace(target);
1826     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1827       InternalWriteMessage(
1828         28, _Internal::voicemail(this), target, stream);
1829   }
1830 
1831   // optional .i18n.phonenumbers.PhoneNumberDesc short_code = 29;
1832   if (cached_has_bits & 0x00200000u) {
1833     target = stream->EnsureSpace(target);
1834     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1835       InternalWriteMessage(
1836         29, _Internal::short_code(this), target, stream);
1837   }
1838 
1839   // optional .i18n.phonenumbers.PhoneNumberDesc standard_rate = 30;
1840   if (cached_has_bits & 0x00400000u) {
1841     target = stream->EnsureSpace(target);
1842     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1843       InternalWriteMessage(
1844         30, _Internal::standard_rate(this), target, stream);
1845   }
1846 
1847   // optional .i18n.phonenumbers.PhoneNumberDesc carrier_specific = 31;
1848   if (cached_has_bits & 0x00800000u) {
1849     target = stream->EnsureSpace(target);
1850     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1851       InternalWriteMessage(
1852         31, _Internal::carrier_specific(this), target, stream);
1853   }
1854 
1855   // optional bool mobile_number_portable_region = 32 [default = false];
1856   if (cached_has_bits & 0x10000000u) {
1857     target = stream->EnsureSpace(target);
1858     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(32, this->_internal_mobile_number_portable_region(), target);
1859   }
1860 
1861   // optional .i18n.phonenumbers.PhoneNumberDesc sms_services = 33;
1862   if (cached_has_bits & 0x01000000u) {
1863     target = stream->EnsureSpace(target);
1864     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1865       InternalWriteMessage(
1866         33, _Internal::sms_services(this), target, stream);
1867   }
1868 
1869   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1870     target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
1871         static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
1872   }
1873   // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.PhoneMetadata)
1874   return target;
1875 }
1876 
ByteSizeLong() const1877 size_t PhoneMetadata::ByteSizeLong() const {
1878 // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.PhoneMetadata)
1879   size_t total_size = 0;
1880 
1881   // required string id = 9;
1882   if (_internal_has_id()) {
1883     total_size += 1 +
1884       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1885         this->_internal_id());
1886   }
1887   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1888   // Prevent compiler warnings about cached_has_bits being unused
1889   (void) cached_has_bits;
1890 
1891   // repeated .i18n.phonenumbers.NumberFormat number_format = 19;
1892   total_size += 2UL * this->_internal_number_format_size();
1893   for (const auto& msg : this->number_format_) {
1894     total_size +=
1895       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1896   }
1897 
1898   // repeated .i18n.phonenumbers.NumberFormat intl_number_format = 20;
1899   total_size += 2UL * this->_internal_intl_number_format_size();
1900   for (const auto& msg : this->intl_number_format_) {
1901     total_size +=
1902       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
1903   }
1904 
1905   cached_has_bits = _has_bits_[0];
1906   if (cached_has_bits & 0x000000feu) {
1907     // optional string international_prefix = 11;
1908     if (cached_has_bits & 0x00000002u) {
1909       total_size += 1 +
1910         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1911           this->_internal_international_prefix());
1912     }
1913 
1914     // optional string national_prefix = 12;
1915     if (cached_has_bits & 0x00000004u) {
1916       total_size += 1 +
1917         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1918           this->_internal_national_prefix());
1919     }
1920 
1921     // optional string preferred_extn_prefix = 13;
1922     if (cached_has_bits & 0x00000008u) {
1923       total_size += 1 +
1924         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1925           this->_internal_preferred_extn_prefix());
1926     }
1927 
1928     // optional string national_prefix_for_parsing = 15;
1929     if (cached_has_bits & 0x00000010u) {
1930       total_size += 1 +
1931         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1932           this->_internal_national_prefix_for_parsing());
1933     }
1934 
1935     // optional string national_prefix_transform_rule = 16;
1936     if (cached_has_bits & 0x00000020u) {
1937       total_size += 2 +
1938         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1939           this->_internal_national_prefix_transform_rule());
1940     }
1941 
1942     // optional string preferred_international_prefix = 17;
1943     if (cached_has_bits & 0x00000040u) {
1944       total_size += 2 +
1945         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1946           this->_internal_preferred_international_prefix());
1947     }
1948 
1949     // optional string leading_digits = 23;
1950     if (cached_has_bits & 0x00000080u) {
1951       total_size += 2 +
1952         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1953           this->_internal_leading_digits());
1954     }
1955 
1956   }
1957   if (cached_has_bits & 0x0000ff00u) {
1958     // optional .i18n.phonenumbers.PhoneNumberDesc general_desc = 1;
1959     if (cached_has_bits & 0x00000100u) {
1960       total_size += 1 +
1961         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1962           *general_desc_);
1963     }
1964 
1965     // optional .i18n.phonenumbers.PhoneNumberDesc fixed_line = 2;
1966     if (cached_has_bits & 0x00000200u) {
1967       total_size += 1 +
1968         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1969           *fixed_line_);
1970     }
1971 
1972     // optional .i18n.phonenumbers.PhoneNumberDesc mobile = 3;
1973     if (cached_has_bits & 0x00000400u) {
1974       total_size += 1 +
1975         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1976           *mobile_);
1977     }
1978 
1979     // optional .i18n.phonenumbers.PhoneNumberDesc toll_free = 4;
1980     if (cached_has_bits & 0x00000800u) {
1981       total_size += 1 +
1982         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1983           *toll_free_);
1984     }
1985 
1986     // optional .i18n.phonenumbers.PhoneNumberDesc premium_rate = 5;
1987     if (cached_has_bits & 0x00001000u) {
1988       total_size += 1 +
1989         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1990           *premium_rate_);
1991     }
1992 
1993     // optional .i18n.phonenumbers.PhoneNumberDesc shared_cost = 6;
1994     if (cached_has_bits & 0x00002000u) {
1995       total_size += 1 +
1996         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
1997           *shared_cost_);
1998     }
1999 
2000     // optional .i18n.phonenumbers.PhoneNumberDesc personal_number = 7;
2001     if (cached_has_bits & 0x00004000u) {
2002       total_size += 1 +
2003         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2004           *personal_number_);
2005     }
2006 
2007     // optional .i18n.phonenumbers.PhoneNumberDesc voip = 8;
2008     if (cached_has_bits & 0x00008000u) {
2009       total_size += 1 +
2010         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2011           *voip_);
2012     }
2013 
2014   }
2015   if (cached_has_bits & 0x00ff0000u) {
2016     // optional .i18n.phonenumbers.PhoneNumberDesc pager = 21;
2017     if (cached_has_bits & 0x00010000u) {
2018       total_size += 2 +
2019         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2020           *pager_);
2021     }
2022 
2023     // optional .i18n.phonenumbers.PhoneNumberDesc no_international_dialling = 24;
2024     if (cached_has_bits & 0x00020000u) {
2025       total_size += 2 +
2026         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2027           *no_international_dialling_);
2028     }
2029 
2030     // optional .i18n.phonenumbers.PhoneNumberDesc uan = 25;
2031     if (cached_has_bits & 0x00040000u) {
2032       total_size += 2 +
2033         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2034           *uan_);
2035     }
2036 
2037     // optional .i18n.phonenumbers.PhoneNumberDesc emergency = 27;
2038     if (cached_has_bits & 0x00080000u) {
2039       total_size += 2 +
2040         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2041           *emergency_);
2042     }
2043 
2044     // optional .i18n.phonenumbers.PhoneNumberDesc voicemail = 28;
2045     if (cached_has_bits & 0x00100000u) {
2046       total_size += 2 +
2047         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2048           *voicemail_);
2049     }
2050 
2051     // optional .i18n.phonenumbers.PhoneNumberDesc short_code = 29;
2052     if (cached_has_bits & 0x00200000u) {
2053       total_size += 2 +
2054         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2055           *short_code_);
2056     }
2057 
2058     // optional .i18n.phonenumbers.PhoneNumberDesc standard_rate = 30;
2059     if (cached_has_bits & 0x00400000u) {
2060       total_size += 2 +
2061         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2062           *standard_rate_);
2063     }
2064 
2065     // optional .i18n.phonenumbers.PhoneNumberDesc carrier_specific = 31;
2066     if (cached_has_bits & 0x00800000u) {
2067       total_size += 2 +
2068         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2069           *carrier_specific_);
2070     }
2071 
2072   }
2073   if (cached_has_bits & 0x1f000000u) {
2074     // optional .i18n.phonenumbers.PhoneNumberDesc sms_services = 33;
2075     if (cached_has_bits & 0x01000000u) {
2076       total_size += 2 +
2077         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2078           *sms_services_);
2079     }
2080 
2081     // optional int32 country_code = 10;
2082     if (cached_has_bits & 0x02000000u) {
2083       total_size += 1 +
2084         ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2085           this->_internal_country_code());
2086     }
2087 
2088     // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
2089     if (cached_has_bits & 0x04000000u) {
2090       total_size += 2 + 1;
2091     }
2092 
2093     // optional bool main_country_for_code = 22 [default = false];
2094     if (cached_has_bits & 0x08000000u) {
2095       total_size += 2 + 1;
2096     }
2097 
2098     // optional bool mobile_number_portable_region = 32 [default = false];
2099     if (cached_has_bits & 0x10000000u) {
2100       total_size += 2 + 1;
2101     }
2102 
2103   }
2104   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2105     total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
2106   }
2107   int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2108   SetCachedSize(cached_size);
2109   return total_size;
2110 }
2111 
CheckTypeAndMergeFrom(const::PROTOBUF_NAMESPACE_ID::MessageLite & from)2112 void PhoneMetadata::CheckTypeAndMergeFrom(
2113     const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
2114   MergeFrom(*::PROTOBUF_NAMESPACE_ID::internal::DownCast<const PhoneMetadata*>(
2115       &from));
2116 }
2117 
MergeFrom(const PhoneMetadata & from)2118 void PhoneMetadata::MergeFrom(const PhoneMetadata& from) {
2119 // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.PhoneMetadata)
2120   GOOGLE_DCHECK_NE(&from, this);
2121   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
2122   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2123   (void) cached_has_bits;
2124 
2125   number_format_.MergeFrom(from.number_format_);
2126   intl_number_format_.MergeFrom(from.intl_number_format_);
2127   cached_has_bits = from._has_bits_[0];
2128   if (cached_has_bits & 0x000000ffu) {
2129     if (cached_has_bits & 0x00000001u) {
2130       _internal_set_id(from._internal_id());
2131     }
2132     if (cached_has_bits & 0x00000002u) {
2133       _internal_set_international_prefix(from._internal_international_prefix());
2134     }
2135     if (cached_has_bits & 0x00000004u) {
2136       _internal_set_national_prefix(from._internal_national_prefix());
2137     }
2138     if (cached_has_bits & 0x00000008u) {
2139       _internal_set_preferred_extn_prefix(from._internal_preferred_extn_prefix());
2140     }
2141     if (cached_has_bits & 0x00000010u) {
2142       _internal_set_national_prefix_for_parsing(from._internal_national_prefix_for_parsing());
2143     }
2144     if (cached_has_bits & 0x00000020u) {
2145       _internal_set_national_prefix_transform_rule(from._internal_national_prefix_transform_rule());
2146     }
2147     if (cached_has_bits & 0x00000040u) {
2148       _internal_set_preferred_international_prefix(from._internal_preferred_international_prefix());
2149     }
2150     if (cached_has_bits & 0x00000080u) {
2151       _internal_set_leading_digits(from._internal_leading_digits());
2152     }
2153   }
2154   if (cached_has_bits & 0x0000ff00u) {
2155     if (cached_has_bits & 0x00000100u) {
2156       _internal_mutable_general_desc()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_general_desc());
2157     }
2158     if (cached_has_bits & 0x00000200u) {
2159       _internal_mutable_fixed_line()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_fixed_line());
2160     }
2161     if (cached_has_bits & 0x00000400u) {
2162       _internal_mutable_mobile()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_mobile());
2163     }
2164     if (cached_has_bits & 0x00000800u) {
2165       _internal_mutable_toll_free()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_toll_free());
2166     }
2167     if (cached_has_bits & 0x00001000u) {
2168       _internal_mutable_premium_rate()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_premium_rate());
2169     }
2170     if (cached_has_bits & 0x00002000u) {
2171       _internal_mutable_shared_cost()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_shared_cost());
2172     }
2173     if (cached_has_bits & 0x00004000u) {
2174       _internal_mutable_personal_number()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_personal_number());
2175     }
2176     if (cached_has_bits & 0x00008000u) {
2177       _internal_mutable_voip()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_voip());
2178     }
2179   }
2180   if (cached_has_bits & 0x00ff0000u) {
2181     if (cached_has_bits & 0x00010000u) {
2182       _internal_mutable_pager()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_pager());
2183     }
2184     if (cached_has_bits & 0x00020000u) {
2185       _internal_mutable_no_international_dialling()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_no_international_dialling());
2186     }
2187     if (cached_has_bits & 0x00040000u) {
2188       _internal_mutable_uan()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_uan());
2189     }
2190     if (cached_has_bits & 0x00080000u) {
2191       _internal_mutable_emergency()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_emergency());
2192     }
2193     if (cached_has_bits & 0x00100000u) {
2194       _internal_mutable_voicemail()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_voicemail());
2195     }
2196     if (cached_has_bits & 0x00200000u) {
2197       _internal_mutable_short_code()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_short_code());
2198     }
2199     if (cached_has_bits & 0x00400000u) {
2200       _internal_mutable_standard_rate()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_standard_rate());
2201     }
2202     if (cached_has_bits & 0x00800000u) {
2203       _internal_mutable_carrier_specific()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_carrier_specific());
2204     }
2205   }
2206   if (cached_has_bits & 0x1f000000u) {
2207     if (cached_has_bits & 0x01000000u) {
2208       _internal_mutable_sms_services()->::i18n::phonenumbers::PhoneNumberDesc::MergeFrom(from._internal_sms_services());
2209     }
2210     if (cached_has_bits & 0x02000000u) {
2211       country_code_ = from.country_code_;
2212     }
2213     if (cached_has_bits & 0x04000000u) {
2214       same_mobile_and_fixed_line_pattern_ = from.same_mobile_and_fixed_line_pattern_;
2215     }
2216     if (cached_has_bits & 0x08000000u) {
2217       main_country_for_code_ = from.main_country_for_code_;
2218     }
2219     if (cached_has_bits & 0x10000000u) {
2220       mobile_number_portable_region_ = from.mobile_number_portable_region_;
2221     }
2222     _has_bits_[0] |= cached_has_bits;
2223   }
2224 }
2225 
CopyFrom(const PhoneMetadata & from)2226 void PhoneMetadata::CopyFrom(const PhoneMetadata& from) {
2227 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.PhoneMetadata)
2228   if (&from == this) return;
2229   Clear();
2230   MergeFrom(from);
2231 }
2232 
IsInitialized() const2233 bool PhoneMetadata::IsInitialized() const {
2234   if (_Internal::MissingRequiredFields(_has_bits_)) return false;
2235   if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(number_format_)) return false;
2236   if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(intl_number_format_)) return false;
2237   return true;
2238 }
2239 
InternalSwap(PhoneMetadata * other)2240 void PhoneMetadata::InternalSwap(PhoneMetadata* other) {
2241   using std::swap;
2242   _internal_metadata_.Swap<std::string>(&other->_internal_metadata_);
2243   swap(_has_bits_[0], other->_has_bits_[0]);
2244   number_format_.InternalSwap(&other->number_format_);
2245   intl_number_format_.InternalSwap(&other->intl_number_format_);
2246   id_.Swap(&other->id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2247   international_prefix_.Swap(&other->international_prefix_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2248   national_prefix_.Swap(&other->national_prefix_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2249   preferred_extn_prefix_.Swap(&other->preferred_extn_prefix_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2250   national_prefix_for_parsing_.Swap(&other->national_prefix_for_parsing_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2251   national_prefix_transform_rule_.Swap(&other->national_prefix_transform_rule_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2252   preferred_international_prefix_.Swap(&other->preferred_international_prefix_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2253   leading_digits_.Swap(&other->leading_digits_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2254   ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2255       PROTOBUF_FIELD_OFFSET(PhoneMetadata, mobile_number_portable_region_)
2256       + sizeof(PhoneMetadata::mobile_number_portable_region_)
2257       - PROTOBUF_FIELD_OFFSET(PhoneMetadata, general_desc_)>(
2258           reinterpret_cast<char*>(&general_desc_),
2259           reinterpret_cast<char*>(&other->general_desc_));
2260 }
2261 
GetTypeName() const2262 std::string PhoneMetadata::GetTypeName() const {
2263   return "i18n.phonenumbers.PhoneMetadata";
2264 }
2265 
2266 
2267 // ===================================================================
2268 
InitAsDefaultInstance()2269 void PhoneMetadataCollection::InitAsDefaultInstance() {
2270 }
2271 class PhoneMetadataCollection::_Internal {
2272  public:
2273 };
2274 
PhoneMetadataCollection(::PROTOBUF_NAMESPACE_ID::Arena * arena)2275 PhoneMetadataCollection::PhoneMetadataCollection(::PROTOBUF_NAMESPACE_ID::Arena* arena)
2276   : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena),
2277   metadata_(arena) {
2278   SharedCtor();
2279   RegisterArenaDtor(arena);
2280   // @@protoc_insertion_point(arena_constructor:i18n.phonenumbers.PhoneMetadataCollection)
2281 }
PhoneMetadataCollection(const PhoneMetadataCollection & from)2282 PhoneMetadataCollection::PhoneMetadataCollection(const PhoneMetadataCollection& from)
2283   : ::PROTOBUF_NAMESPACE_ID::MessageLite(),
2284       metadata_(from.metadata_) {
2285   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
2286   // @@protoc_insertion_point(copy_constructor:i18n.phonenumbers.PhoneMetadataCollection)
2287 }
2288 
SharedCtor()2289 void PhoneMetadataCollection::SharedCtor() {
2290   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_PhoneMetadataCollection_phonemetadata_2eproto.base);
2291 }
2292 
~PhoneMetadataCollection()2293 PhoneMetadataCollection::~PhoneMetadataCollection() {
2294   // @@protoc_insertion_point(destructor:i18n.phonenumbers.PhoneMetadataCollection)
2295   SharedDtor();
2296   _internal_metadata_.Delete<std::string>();
2297 }
2298 
SharedDtor()2299 void PhoneMetadataCollection::SharedDtor() {
2300   GOOGLE_DCHECK(GetArena() == nullptr);
2301 }
2302 
ArenaDtor(void * object)2303 void PhoneMetadataCollection::ArenaDtor(void* object) {
2304   PhoneMetadataCollection* _this = reinterpret_cast< PhoneMetadataCollection* >(object);
2305   (void)_this;
2306 }
RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena *)2307 void PhoneMetadataCollection::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2308 }
SetCachedSize(int size) const2309 void PhoneMetadataCollection::SetCachedSize(int size) const {
2310   _cached_size_.Set(size);
2311 }
default_instance()2312 const PhoneMetadataCollection& PhoneMetadataCollection::default_instance() {
2313   ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PhoneMetadataCollection_phonemetadata_2eproto.base);
2314   return *internal_default_instance();
2315 }
2316 
2317 
Clear()2318 void PhoneMetadataCollection::Clear() {
2319 // @@protoc_insertion_point(message_clear_start:i18n.phonenumbers.PhoneMetadataCollection)
2320   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2321   // Prevent compiler warnings about cached_has_bits being unused
2322   (void) cached_has_bits;
2323 
2324   metadata_.Clear();
2325   _internal_metadata_.Clear<std::string>();
2326 }
2327 
_InternalParse(const char * ptr,::PROTOBUF_NAMESPACE_ID::internal::ParseContext * ctx)2328 const char* PhoneMetadataCollection::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2329 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2330   ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
2331   while (!ctx->Done(&ptr)) {
2332     ::PROTOBUF_NAMESPACE_ID::uint32 tag;
2333     ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2334     CHK_(ptr);
2335     switch (tag >> 3) {
2336       // repeated .i18n.phonenumbers.PhoneMetadata metadata = 1;
2337       case 1:
2338         if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
2339           ptr -= 1;
2340           do {
2341             ptr += 1;
2342             ptr = ctx->ParseMessage(_internal_add_metadata(), ptr);
2343             CHK_(ptr);
2344             if (!ctx->DataAvailable(ptr)) break;
2345           } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
2346         } else goto handle_unusual;
2347         continue;
2348       default: {
2349       handle_unusual:
2350         if ((tag & 7) == 4 || tag == 0) {
2351           ctx->SetLastTag(tag);
2352           goto success;
2353         }
2354         ptr = UnknownFieldParse(tag,
2355             _internal_metadata_.mutable_unknown_fields<std::string>(),
2356             ptr, ctx);
2357         CHK_(ptr != nullptr);
2358         continue;
2359       }
2360     }  // switch
2361   }  // while
2362 success:
2363   return ptr;
2364 failure:
2365   ptr = nullptr;
2366   goto success;
2367 #undef CHK_
2368 }
2369 
_InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 * target,::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream * stream) const2370 ::PROTOBUF_NAMESPACE_ID::uint8* PhoneMetadataCollection::_InternalSerialize(
2371     ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2372   // @@protoc_insertion_point(serialize_to_array_start:i18n.phonenumbers.PhoneMetadataCollection)
2373   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2374   (void) cached_has_bits;
2375 
2376   // repeated .i18n.phonenumbers.PhoneMetadata metadata = 1;
2377   for (unsigned int i = 0,
2378       n = static_cast<unsigned int>(this->_internal_metadata_size()); i < n; i++) {
2379     target = stream->EnsureSpace(target);
2380     target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2381       InternalWriteMessage(1, this->_internal_metadata(i), target, stream);
2382   }
2383 
2384   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2385     target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
2386         static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
2387   }
2388   // @@protoc_insertion_point(serialize_to_array_end:i18n.phonenumbers.PhoneMetadataCollection)
2389   return target;
2390 }
2391 
ByteSizeLong() const2392 size_t PhoneMetadataCollection::ByteSizeLong() const {
2393 // @@protoc_insertion_point(message_byte_size_start:i18n.phonenumbers.PhoneMetadataCollection)
2394   size_t total_size = 0;
2395 
2396   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2397   // Prevent compiler warnings about cached_has_bits being unused
2398   (void) cached_has_bits;
2399 
2400   // repeated .i18n.phonenumbers.PhoneMetadata metadata = 1;
2401   total_size += 1UL * this->_internal_metadata_size();
2402   for (const auto& msg : this->metadata_) {
2403     total_size +=
2404       ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
2405   }
2406 
2407   if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2408     total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
2409   }
2410   int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2411   SetCachedSize(cached_size);
2412   return total_size;
2413 }
2414 
CheckTypeAndMergeFrom(const::PROTOBUF_NAMESPACE_ID::MessageLite & from)2415 void PhoneMetadataCollection::CheckTypeAndMergeFrom(
2416     const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
2417   MergeFrom(*::PROTOBUF_NAMESPACE_ID::internal::DownCast<const PhoneMetadataCollection*>(
2418       &from));
2419 }
2420 
MergeFrom(const PhoneMetadataCollection & from)2421 void PhoneMetadataCollection::MergeFrom(const PhoneMetadataCollection& from) {
2422 // @@protoc_insertion_point(class_specific_merge_from_start:i18n.phonenumbers.PhoneMetadataCollection)
2423   GOOGLE_DCHECK_NE(&from, this);
2424   _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
2425   ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2426   (void) cached_has_bits;
2427 
2428   metadata_.MergeFrom(from.metadata_);
2429 }
2430 
CopyFrom(const PhoneMetadataCollection & from)2431 void PhoneMetadataCollection::CopyFrom(const PhoneMetadataCollection& from) {
2432 // @@protoc_insertion_point(class_specific_copy_from_start:i18n.phonenumbers.PhoneMetadataCollection)
2433   if (&from == this) return;
2434   Clear();
2435   MergeFrom(from);
2436 }
2437 
IsInitialized() const2438 bool PhoneMetadataCollection::IsInitialized() const {
2439   if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(metadata_)) return false;
2440   return true;
2441 }
2442 
InternalSwap(PhoneMetadataCollection * other)2443 void PhoneMetadataCollection::InternalSwap(PhoneMetadataCollection* other) {
2444   using std::swap;
2445   _internal_metadata_.Swap<std::string>(&other->_internal_metadata_);
2446   metadata_.InternalSwap(&other->metadata_);
2447 }
2448 
GetTypeName() const2449 std::string PhoneMetadataCollection::GetTypeName() const {
2450   return "i18n.phonenumbers.PhoneMetadataCollection";
2451 }
2452 
2453 
2454 // @@protoc_insertion_point(namespace_scope)
2455 }  // namespace phonenumbers
2456 }  // namespace i18n
2457 PROTOBUF_NAMESPACE_OPEN
CreateMaybeMessage(Arena * arena)2458 template<> PROTOBUF_NOINLINE ::i18n::phonenumbers::NumberFormat* Arena::CreateMaybeMessage< ::i18n::phonenumbers::NumberFormat >(Arena* arena) {
2459   return Arena::CreateMessageInternal< ::i18n::phonenumbers::NumberFormat >(arena);
2460 }
CreateMaybeMessage(Arena * arena)2461 template<> PROTOBUF_NOINLINE ::i18n::phonenumbers::PhoneNumberDesc* Arena::CreateMaybeMessage< ::i18n::phonenumbers::PhoneNumberDesc >(Arena* arena) {
2462   return Arena::CreateMessageInternal< ::i18n::phonenumbers::PhoneNumberDesc >(arena);
2463 }
CreateMaybeMessage(Arena * arena)2464 template<> PROTOBUF_NOINLINE ::i18n::phonenumbers::PhoneMetadata* Arena::CreateMaybeMessage< ::i18n::phonenumbers::PhoneMetadata >(Arena* arena) {
2465   return Arena::CreateMessageInternal< ::i18n::phonenumbers::PhoneMetadata >(arena);
2466 }
CreateMaybeMessage(Arena * arena)2467 template<> PROTOBUF_NOINLINE ::i18n::phonenumbers::PhoneMetadataCollection* Arena::CreateMaybeMessage< ::i18n::phonenumbers::PhoneMetadataCollection >(Arena* arena) {
2468   return Arena::CreateMessageInternal< ::i18n::phonenumbers::PhoneMetadataCollection >(arena);
2469 }
2470 PROTOBUF_NAMESPACE_CLOSE
2471 
2472 // @@protoc_insertion_point(global_scope)
2473 #include <google/protobuf/port_undef.inc>
2474