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