aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrouslan@chromium.org <rouslan@chromium.org@38ededc0-08b8-5190-f2ac-b31f878777ad>2014-07-17 03:42:55 +0000
committerrouslan@chromium.org <rouslan@chromium.org@38ededc0-08b8-5190-f2ac-b31f878777ad>2014-07-17 03:42:55 +0000
commit54a60127ec33ff2c28b1934d75cb17c5c51b9f43 (patch)
tree067f2c1055ec3d69c7232aae88b812c16c616c7d
parent790e435e19c39de8c6d57ef82480fd44571f9003 (diff)
downloadsrc-54a60127ec33ff2c28b1934d75cb17c5c51b9f43.tar.gz
Revert "Expose GetLineSeparatorForLanguage in address_formatter.h"
This reverts revision https://code.google.com/p/libaddressinput/source/detail?r=305. TBR=lararennie@google.com Review URL: https://codereview.appspot.com/118800043 git-svn-id: http://libaddressinput.googlecode.com/svn/trunk@306 38ededc0-08b8-5190-f2ac-b31f878777ad
-rw-r--r--cpp/include/libaddressinput/address_formatter.h4
-rw-r--r--cpp/src/address_formatter.cc80
2 files changed, 40 insertions, 44 deletions
diff --git a/cpp/include/libaddressinput/address_formatter.h b/cpp/include/libaddressinput/address_formatter.h
index 3ac94c3..e267884 100644
--- a/cpp/include/libaddressinput/address_formatter.h
+++ b/cpp/include/libaddressinput/address_formatter.h
@@ -45,10 +45,6 @@ void GetFormattedNationalAddressLine(
void GetStreetAddressLinesAsSingleLine(
const AddressData& address_data, std::string* line);
-// Returns the separator used for collapsing multiple parts of an address into a
-// single line.
-std::string GetLineSeparatorForLanguage(const std::string& language_tag);
-
} // namespace addressinput
} // namespace i18n
diff --git a/cpp/src/address_formatter.cc b/cpp/src/address_formatter.cc
index da5bd07..f4fc04d 100644
--- a/cpp/src/address_formatter.cc
+++ b/cpp/src/address_formatter.cc
@@ -66,6 +66,46 @@ const char* kLanguagesThatUseAnArabicComma[] = {
"uz"
};
+std::string GetLineSeparatorForLanguage(const std::string& language_tag) {
+ Language address_language(language_tag);
+
+ // First deal with explicit script tags.
+ if (address_language.has_latin_script) {
+ return kCommaSeparator;
+ }
+
+ // Now guess something appropriate based on the base language.
+ const std::string& base_language = address_language.base;
+ if (std::find_if(kLanguagesThatUseSpace,
+ kLanguagesThatUseSpace + arraysize(kLanguagesThatUseSpace),
+ std::bind2nd(EqualToTolowerString(), base_language)) !=
+ kLanguagesThatUseSpace + arraysize(kLanguagesThatUseSpace)) {
+ return kSpaceSeparator;
+ } else if (std::find_if(
+ kLanguagesThatHaveNoSeparator,
+ kLanguagesThatHaveNoSeparator +
+ arraysize(kLanguagesThatHaveNoSeparator),
+ std::bind2nd(EqualToTolowerString(), base_language)) !=
+ kLanguagesThatHaveNoSeparator +
+ arraysize(kLanguagesThatHaveNoSeparator)) {
+ return "";
+ } else if (std::find_if(
+ kLanguagesThatUseAnArabicComma,
+ kLanguagesThatUseAnArabicComma +
+ arraysize(kLanguagesThatUseAnArabicComma),
+ std::bind2nd(EqualToTolowerString(), base_language)) !=
+ kLanguagesThatUseAnArabicComma +
+ arraysize(kLanguagesThatUseAnArabicComma)) {
+ return kArabicCommaSeparator;
+ }
+ // Either the language is a latin-script language, or no language was
+ // specified. In the latter case we still return ", " as the most common
+ // separator in use. In countries that don't use this, e.g. Thailand,
+ // addresses are often written in latin script where this would still be
+ // appropriate, so this is a reasonable default in the absence of information.
+ return kCommaSeparator;
+}
+
void CombineLinesForLanguage(
const std::vector<std::string>& lines, const std::string& language_tag,
std::string *line) {
@@ -146,45 +186,5 @@ void GetStreetAddressLinesAsSingleLine(
address_data.address_line, address_data.language_code, line);
}
-std::string GetLineSeparatorForLanguage(const std::string& language_tag) {
- Language address_language(language_tag);
-
- // First deal with explicit script tags.
- if (address_language.has_latin_script) {
- return kCommaSeparator;
- }
-
- // Now guess something appropriate based on the base language.
- const std::string& base_language = address_language.base;
- if (std::find_if(kLanguagesThatUseSpace,
- kLanguagesThatUseSpace + arraysize(kLanguagesThatUseSpace),
- std::bind2nd(EqualToTolowerString(), base_language)) !=
- kLanguagesThatUseSpace + arraysize(kLanguagesThatUseSpace)) {
- return kSpaceSeparator;
- } else if (std::find_if(
- kLanguagesThatHaveNoSeparator,
- kLanguagesThatHaveNoSeparator +
- arraysize(kLanguagesThatHaveNoSeparator),
- std::bind2nd(EqualToTolowerString(), base_language)) !=
- kLanguagesThatHaveNoSeparator +
- arraysize(kLanguagesThatHaveNoSeparator)) {
- return "";
- } else if (std::find_if(
- kLanguagesThatUseAnArabicComma,
- kLanguagesThatUseAnArabicComma +
- arraysize(kLanguagesThatUseAnArabicComma),
- std::bind2nd(EqualToTolowerString(), base_language)) !=
- kLanguagesThatUseAnArabicComma +
- arraysize(kLanguagesThatUseAnArabicComma)) {
- return kArabicCommaSeparator;
- }
- // Either the language is a latin-script language, or no language was
- // specified. In the latter case we still return ", " as the most common
- // separator in use. In countries that don't use this, e.g. Thailand,
- // addresses are often written in latin script where this would still be
- // appropriate, so this is a reasonable default in the absence of information.
- return kCommaSeparator;
-}
-
} // namespace addressinput
} // namespace i18n