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