Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/coding
diff options
context:
space:
mode:
authorArsentiy Milchakov <a.milchakov@corp.mail.ru>2016-07-20 22:51:27 +0300
committerArsentiy Milchakov <a.milchakov@corp.mail.ru>2016-07-20 22:51:27 +0300
commit99f189642f6c5ae0139cc36ba5ba5106680d9de5 (patch)
tree6fa3ee843f0d2d3646d0acb619fc9bc788f03f89 /coding
parentae5272bc4708f55a946163a4228ad38138af82d0 (diff)
review fixes
Diffstat (limited to 'coding')
-rw-r--r--coding/coding_tests/multilang_utf8_string_test.cpp15
-rw-r--r--coding/multilang_utf8_string.cpp11
-rw-r--r--coding/multilang_utf8_string.hpp2
3 files changed, 28 insertions, 0 deletions
diff --git a/coding/coding_tests/multilang_utf8_string_test.cpp b/coding/coding_tests/multilang_utf8_string_test.cpp
index 565a2f4674..458d8f0340 100644
--- a/coding/coding_tests/multilang_utf8_string_test.cpp
+++ b/coding/coding_tests/multilang_utf8_string_test.cpp
@@ -114,3 +114,18 @@ UNIT_TEST(MultilangString_LangNames)
auto const international = StringUtf8Multilang::GetLangIndex("int_name");
TEST_EQUAL(langs[international].m_code, "int_name", ());
}
+
+UNIT_TEST(MultilangString_HasString)
+{
+ StringUtf8Multilang s;
+ s.AddString(0, "xxx");
+ s.AddString(18, "yyy");
+ s.AddString(63, "zzz");
+
+ TEST(s.HasString(0), ());
+ TEST(s.HasString(18), ());
+ TEST(s.HasString(63), ());
+
+ TEST(!s.HasString(1), ());
+ TEST(!s.HasString(32), ());
+}
diff --git a/coding/multilang_utf8_string.cpp b/coding/multilang_utf8_string.cpp
index 1f447eb482..3db26870f6 100644
--- a/coding/multilang_utf8_string.cpp
+++ b/coding/multilang_utf8_string.cpp
@@ -139,6 +139,17 @@ bool StringUtf8Multilang::GetString(int8_t lang, string & utf8s) const
return false;
}
+bool StringUtf8Multilang::HasString(int8_t lang) const
+{
+ for(size_t i = 0; i < m_s.size(); i = GetNextIndex(i))
+ {
+ if ((m_s[i] & 0x3F) == lang)
+ return true;
+ }
+
+ return false;
+}
+
namespace
{
diff --git a/coding/multilang_utf8_string.hpp b/coding/multilang_utf8_string.hpp
index 1a522cc238..67323ca3ca 100644
--- a/coding/multilang_utf8_string.hpp
+++ b/coding/multilang_utf8_string.hpp
@@ -105,6 +105,8 @@ public:
else
return false;
}
+
+ bool HasString(int8_t lang) const;
int8_t FindString(string const & utf8s) const;