@@ -310,11 +310,10 @@ extern "C" void c_phone_number_util_normalize_dialable_chars_only(
312extern "C" void c_phone_number_util_get_national_significant_number(
312extern "C" void c_phone_number_util_get_national_significant_number(
313− CxxPhoneNumber const *ptr,
313+ PhoneNumber const *number,
314 c_string *c_nsn
314 c_string *c_nsn
317− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
318 std::string nsn;
317 std::string nsn;
319 PhoneNumberUtil::GetInstance()->GetNationalSignificantNumber(*number, &nsn);
318 PhoneNumberUtil::GetInstance()->GetNationalSignificantNumber(*number, &nsn);
320 unmarshal_c_string(nsn, *c_nsn);
319 unmarshal_c_string(nsn, *c_nsn);
@@ -331,25 +330,23 @@ extern "C" void c_phone_number_util_get_country_mobile_token(
333extern "C" void c_phone_number_util_format(
332extern "C" void c_phone_number_util_format(
334− CxxPhoneNumber const *ptr,
333+ PhoneNumber const *number,
335 phone_number_format format,
334 phone_number_format format,
336 c_string *c_string
335 c_string *c_string
339− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
340 std::string string;
338 std::string string;
341 PhoneNumberUtil::GetInstance()->Format(*number, marshal_phone_number_format(format), &string);
339 PhoneNumberUtil::GetInstance()->Format(*number, marshal_phone_number_format(format), &string);
342 unmarshal_c_string(string, *c_string);
340 unmarshal_c_string(string, *c_string);
345extern "C" void c_phone_number_util_format_national_number_with_carrier_code(
343extern "C" void c_phone_number_util_format_national_number_with_carrier_code(
346− CxxPhoneNumber const *ptr,
344+ PhoneNumber const *number,
347 char const *c_carrier_code,
345 char const *c_carrier_code,
348 size_t c_carrier_code_size,
346 size_t c_carrier_code_size,
349 c_string *c_string
347 c_string *c_string
352− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
353 std::string const carrier_code(c_carrier_code, c_carrier_code_size);
350 std::string const carrier_code(c_carrier_code, c_carrier_code_size);
354 std::string string;
351 std::string string;
355 PhoneNumberUtil::GetInstance()->FormatNationalNumberWithCarrierCode(*number, carrier_code, &string);
352 PhoneNumberUtil::GetInstance()->FormatNationalNumberWithCarrierCode(*number, carrier_code, &string);
@@ -357,13 +354,12 @@ extern "C" void c_phone_number_util_format_national_number_with_carrier_code(
359extern "C" void c_phone_number_util_format_national_number_with_preferred_carrier_code(
356extern "C" void c_phone_number_util_format_national_number_with_preferred_carrier_code(
360− CxxPhoneNumber const *ptr,
357+ PhoneNumber const *number,
361 char const *c_carrier_code,
358 char const *c_carrier_code,
362 size_t c_carrier_code_size,
359 size_t c_carrier_code_size,
363 c_string *c_string
360 c_string *c_string
366− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
367 std::string const carrier_code(c_carrier_code, c_carrier_code_size);
363 std::string const carrier_code(c_carrier_code, c_carrier_code_size);
368 std::string string;
364 std::string string;
369 PhoneNumberUtil::GetInstance()->FormatNationalNumberWithPreferredCarrierCode(*number, carrier_code, &string);
365 PhoneNumberUtil::GetInstance()->FormatNationalNumberWithPreferredCarrierCode(*number, carrier_code, &string);
@@ -371,14 +367,13 @@ extern "C" void c_phone_number_util_format_national_number_with_preferred_carrie
373extern "C" void c_phone_number_util_format_number_for_mobile_dialing(
369extern "C" void c_phone_number_util_format_number_for_mobile_dialing(
374− CxxPhoneNumber const *ptr,
370+ PhoneNumber const *number,
375 char const *c_region,
371 char const *c_region,
376 size_t c_region_size,
372 size_t c_region_size,
377 int with_formatting,
373 int with_formatting,
378 c_string *c_string
374 c_string *c_string
381− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
382 std::string const region(c_region, c_region_size);
377 std::string const region(c_region, c_region_size);
383 std::string string;
378 std::string string;
384 PhoneNumberUtil::GetInstance()->FormatNumberForMobileDialing(*number, region, with_formatting, &string);
379 PhoneNumberUtil::GetInstance()->FormatNumberForMobileDialing(*number, region, with_formatting, &string);
@@ -386,13 +381,12 @@ extern "C" void c_phone_number_util_format_number_for_mobile_dialing(
388extern "C" void c_phone_number_util_format_out_of_country_calling_number(
383extern "C" void c_phone_number_util_format_out_of_country_calling_number(
389− CxxPhoneNumber const *ptr,
384+ PhoneNumber const *number,
390 char const *c_region,
385 char const *c_region,
391 size_t c_region_size,
386 size_t c_region_size,
392 c_string *c_string
387 c_string *c_string
395− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
396 std::string const region(c_region, c_region_size);
390 std::string const region(c_region, c_region_size);
397 std::string string;
391 std::string string;
398 PhoneNumberUtil::GetInstance()->FormatOutOfCountryCallingNumber(*number, region, &string);
392 PhoneNumberUtil::GetInstance()->FormatOutOfCountryCallingNumber(*number, region, &string);
@@ -400,13 +394,12 @@ extern "C" void c_phone_number_util_format_out_of_country_calling_number(
402extern "C" void c_phone_number_util_format_in_original_format(
396extern "C" void c_phone_number_util_format_in_original_format(
403− CxxPhoneNumber const *ptr,
397+ PhoneNumber const *number,
404 char const *c_region,
398 char const *c_region,
405 size_t c_region_size,
399 size_t c_region_size,
406 c_string *c_string
400 c_string *c_string
409− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
410 std::string const region(c_region, c_region_size);
403 std::string const region(c_region, c_region_size);
411 std::string string;
404 std::string string;
412 PhoneNumberUtil::GetInstance()->FormatInOriginalFormat(*number, region, &string);
405 PhoneNumberUtil::GetInstance()->FormatInOriginalFormat(*number, region, &string);
@@ -414,26 +407,24 @@ extern "C" void c_phone_number_util_format_in_original_format(
416extern "C" void c_phone_number_util_format_out_of_country_keeping_alpha_chars(
409extern "C" void c_phone_number_util_format_out_of_country_keeping_alpha_chars(
417− CxxPhoneNumber const *ptr,
410+ PhoneNumber const *number,
418 char const *c_region,
411 char const *c_region,
419 size_t c_region_size,
412 size_t c_region_size,
420 c_string *c_string
413 c_string *c_string
423− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
424 std::string const region(c_region, c_region_size);
416 std::string const region(c_region, c_region_size);
425 std::string string;
417 std::string string;
426 PhoneNumberUtil::GetInstance()->FormatOutOfCountryKeepingAlphaChars(*number, region, &string);
418 PhoneNumberUtil::GetInstance()->FormatOutOfCountryKeepingAlphaChars(*number, region, &string);
427 unmarshal_c_string(string, *c_string);
419 unmarshal_c_string(string, *c_string);
430−extern "C" CxxPhoneNumber *c_phone_number_util_truncate_too_long_number(CxxPhoneNumber const *ptr)
422+extern "C" PhoneNumber *c_phone_number_util_truncate_too_long_number(PhoneNumber const *input)
432− auto input = reinterpret_cast<PhoneNumber const *>(ptr);
433 auto *output = new PhoneNumber(*input);
424 auto *output = new PhoneNumber(*input);
434 if (PhoneNumberUtil::GetInstance()->TruncateTooLongNumber(output))
425 if (PhoneNumberUtil::GetInstance()->TruncateTooLongNumber(output))
436− return reinterpret_cast<CxxPhoneNumber *>(output);
427+ return output;
@@ -442,37 +433,33 @@ extern "C" CxxPhoneNumber *c_phone_number_util_truncate_too_long_number(CxxPhone
445−extern "C" phone_number_type c_phone_number_util_get_number_type(CxxPhoneNumber const *ptr)
436+extern "C" phone_number_type c_phone_number_util_get_number_type(PhoneNumber const *number)
447− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
448 return unmarshal_phone_number_type(
438 return unmarshal_phone_number_type(
449 PhoneNumberUtil::GetInstance()->GetNumberType(*number)
439 PhoneNumberUtil::GetInstance()->GetNumberType(*number)
453−extern "C" int c_phone_number_util_is_valid_number(CxxPhoneNumber const *ptr)
443+extern "C" int c_phone_number_util_is_valid_number(PhoneNumber const *number)
455− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
456 return PhoneNumberUtil::GetInstance()->IsValidNumber(*number);
445 return PhoneNumberUtil::GetInstance()->IsValidNumber(*number);
459extern "C" int c_phone_number_util_is_valid_number_for_region(
448extern "C" int c_phone_number_util_is_valid_number_for_region(
460− CxxPhoneNumber const *ptr,
449+ PhoneNumber const *number,
461 char const *c_region,
450 char const *c_region,
462 size_t c_region_size
451 size_t c_region_size
465− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
466 std::string const region(c_region, c_region_size);
454 std::string const region(c_region, c_region_size);
467 return PhoneNumberUtil::GetInstance()->IsValidNumberForRegion(*number, region);
455 return PhoneNumberUtil::GetInstance()->IsValidNumberForRegion(*number, region);
470extern "C" void c_phone_number_util_get_region_code_for_number(
458extern "C" void c_phone_number_util_get_region_code_for_number(
471− CxxPhoneNumber const *ptr,
459+ PhoneNumber const *number,
472 c_string *c_region
460 c_string *c_region
475− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
476 std::string region;
463 std::string region;
477 PhoneNumberUtil::GetInstance()->GetRegionCodeForNumber(*number, ®ion);
464 PhoneNumberUtil::GetInstance()->GetRegionCodeForNumber(*number, ®ion);
478 unmarshal_c_string(region, *c_region);
465 unmarshal_c_string(region, *c_region);
@@ -531,11 +518,10 @@ extern "C" void c_phone_number_util_get_ndd_prefix_for_region(
533extern "C" validation_result c_phone_number_util_is_possible_number_for_type_with_reason(
520extern "C" validation_result c_phone_number_util_is_possible_number_for_type_with_reason(
534− CxxPhoneNumber const *ptr,
521+ PhoneNumber const *number,
535 phone_number_type ntype
522 phone_number_type ntype
538− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
539 return unmarshal_validation_result(
525 return unmarshal_validation_result(
540 PhoneNumberUtil::GetInstance()->IsPossibleNumberForTypeWithReason(
526 PhoneNumberUtil::GetInstance()->IsPossibleNumberForTypeWithReason(
@@ -544,15 +530,13 @@ extern "C" validation_result c_phone_number_util_is_possible_number_for_type_wit
547−extern "C" int c_phone_number_util_can_be_internationally_dialed(CxxPhoneNumber const *ptr)
533+extern "C" int c_phone_number_util_can_be_internationally_dialed(PhoneNumber const *number)
549− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
550 return PhoneNumberUtil::GetInstance()->CanBeInternationallyDialled(*number);
535 return PhoneNumberUtil::GetInstance()->CanBeInternationallyDialled(*number);
553−extern "C" int c_phone_number_util_is_number_geographical_1(CxxPhoneNumber const *ptr)
538+extern "C" int c_phone_number_util_is_number_geographical_1(PhoneNumber const *number)
555− auto number = reinterpret_cast<PhoneNumber const *>(ptr);
556 return PhoneNumberUtil::GetInstance()->IsNumberGeographical(*number);
540 return PhoneNumberUtil::GetInstance()->IsNumberGeographical(*number);
@@ -572,14 +556,14 @@ extern "C" error_type c_phone_number_util_parse(
572 size_t c_string_size,
556 size_t c_string_size,
573 char const *c_region,
557 char const *c_region,
574 size_t c_region_size,
558 size_t c_region_size,
575− CxxPhoneNumber **number
559+ PhoneNumber **number
578 std::string const string(c_string, c_string_size);
562 std::string const string(c_string, c_string_size);
579 std::string const region(c_region, c_region_size);
563 std::string const region(c_region, c_region_size);
580− *number = reinterpret_cast<CxxPhoneNumber *>(new PhoneNumber());
564+ *number = new PhoneNumber();
581 return unmarshal_error_type(
565 return unmarshal_error_type(
582− PhoneNumberUtil::GetInstance()->Parse(string, region, reinterpret_cast<PhoneNumber *>(*number))
566+ PhoneNumberUtil::GetInstance()->Parse(string, region, *number)
@@ -588,24 +572,22 @@ extern "C" error_type c_phone_number_util_parse_and_keep_raw_input(
588 size_t c_string_size,
572 size_t c_string_size,
589 char const *c_region,
573 char const *c_region,
590 size_t c_region_size,
574 size_t c_region_size,
591− CxxPhoneNumber **number
575+ PhoneNumber **number
594 std::string const string(c_string, c_string_size);
578 std::string const string(c_string, c_string_size);
595 std::string const region(c_region, c_region_size);
579 std::string const region(c_region, c_region_size);
596− *number = reinterpret_cast<CxxPhoneNumber *>(new PhoneNumber());
580+ *number = new PhoneNumber();
597 return unmarshal_error_type(
581 return unmarshal_error_type(
598− PhoneNumberUtil::GetInstance()->ParseAndKeepRawInput(string, region, reinterpret_cast<PhoneNumber *>(*number))
582+ PhoneNumberUtil::GetInstance()->ParseAndKeepRawInput(string, region, *number)
602extern "C" match_type c_phone_number_util_is_number_match(
586extern "C" match_type c_phone_number_util_is_number_match(
603− CxxPhoneNumber const *ptr1,
587+ PhoneNumber const *number1,
604− CxxPhoneNumber const *ptr2
588+ PhoneNumber const *number2
607− auto number1 = reinterpret_cast<PhoneNumber const *>(ptr1);
608− auto number2 = reinterpret_cast<PhoneNumber const *>(ptr2);
609 return unmarshal_match_type(
591 return unmarshal_match_type(
610 PhoneNumberUtil::GetInstance()->IsNumberMatch(*number1, *number2)
592 PhoneNumberUtil::GetInstance()->IsNumberMatch(*number1, *number2)
@@ -626,12 +608,11 @@ extern "C" match_type c_phone_number_util_is_number_match_with_two_strings(
628extern "C" match_type c_phone_number_util_is_number_match_with_one_string(
610extern "C" match_type c_phone_number_util_is_number_match_with_one_string(
629− CxxPhoneNumber const *ptr1,
611+ PhoneNumber const *number1,
630 char const *c_number2,
612 char const *c_number2,
631 size_t c_number2_size
613 size_t c_number2_size
634− auto number1 = reinterpret_cast<PhoneNumber const *>(ptr1);
635 std::string const number2(c_number2, c_number2_size);
616 std::string const number2(c_number2, c_number2_size);
636 return unmarshal_match_type(
617 return unmarshal_match_type(
637 PhoneNumberUtil::GetInstance()->IsNumberMatchWithOneString(*number1, number2)
618 PhoneNumberUtil::GetInstance()->IsNumberMatchWithOneString(*number1, number2)