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