Do not expose internal DS (iterator) of AreaCodeMaps
diff --git a/cpp/src/phonenumbers/geocoding/phonenumber_offline_geocoder.cc b/cpp/src/phonenumbers/geocoding/phonenumber_offline_geocoder.cc index f8b013c..1e5a5ba 100644 --- a/cpp/src/phonenumbers/geocoding/phonenumber_offline_geocoder.cc +++ b/cpp/src/phonenumbers/geocoding/phonenumber_offline_geocoder.cc
@@ -92,16 +92,12 @@ } AreaCodeMaps::const_iterator it = available_maps_.find(filename); if (it == available_maps_.end()) { - it = LoadAreaCodeMapFromFile(filename); - if (it == available_maps_.end()) { - return NULL; - } + return LoadAreaCodeMapFromFile(filename); } return it->second; } -PhoneNumberOfflineGeocoder::AreaCodeMaps::const_iterator -PhoneNumberOfflineGeocoder::LoadAreaCodeMapFromFile( +const AreaCodeMap* PhoneNumberOfflineGeocoder::LoadAreaCodeMapFromFile( const string& filename) const { const char** const prefix_language_code_pairs_end = prefix_language_code_pairs_ + prefix_language_code_pairs_size_; @@ -114,9 +110,10 @@ AreaCodeMap* const m = new AreaCodeMap(); m->ReadAreaCodeMap(get_prefix_descriptions_( prefix_language_code_pair - prefix_language_code_pairs_)); - return available_maps_.insert(AreaCodeMaps::value_type(filename, m)).first; + return available_maps_.insert(AreaCodeMaps::value_type(filename, m)) + .first->second; } - return available_maps_.end(); + return NULL; } string PhoneNumberOfflineGeocoder::GetCountryNameForNumber(
diff --git a/cpp/src/phonenumbers/geocoding/phonenumber_offline_geocoder.h b/cpp/src/phonenumbers/geocoding/phonenumber_offline_geocoder.h index 9c09510..ee52090 100644 --- a/cpp/src/phonenumbers/geocoding/phonenumber_offline_geocoder.h +++ b/cpp/src/phonenumbers/geocoding/phonenumber_offline_geocoder.h
@@ -116,7 +116,7 @@ int prefix_language_code_pairs_size, prefix_descriptions_getter get_prefix_descriptions); - AreaCodeMaps::const_iterator LoadAreaCodeMapFromFile( + const AreaCodeMap* LoadAreaCodeMapFromFile( const string& filename) const ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_); const AreaCodeMap* GetPhonePrefixDescriptions(