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/base
diff options
context:
space:
mode:
authorvng <viktor.govako@gmail.com>2013-02-20 01:10:21 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:51:03 +0300
commit332d30c416ce4b2c77de4f4b8d9a3163a9e533fc (patch)
tree09176d226744bc7cdc9ca97750a572d183e5715c /base
parent9ff45dbc1373409808223ec7b688bd75242fa855 (diff)
Move "heavy" implementations to cpp. Simplify some functions.
Diffstat (limited to 'base')
-rw-r--r--base/string_utils.cpp14
-rw-r--r--base/string_utils.hpp38
2 files changed, 26 insertions, 26 deletions
diff --git a/base/string_utils.cpp b/base/string_utils.cpp
index d29f24efca..2419beb37a 100644
--- a/base/string_utils.cpp
+++ b/base/string_utils.cpp
@@ -133,4 +133,18 @@ bool EqualNoCase(string const & s1, string const & s2)
return MakeLowerCase(s1) == MakeLowerCase(s2);
}
+UniString MakeUniString(string const & utf8s)
+{
+ UniString result;
+ utf8::unchecked::utf8to32(utf8s.begin(), utf8s.end(), back_inserter(result));
+ return result;
+}
+
+string ToUtf8(UniString const & s)
+{
+ string result;
+ utf8::unchecked::utf32to8(s.begin(), s.end(), back_inserter(result));
+ return result;
+}
+
}
diff --git a/base/string_utils.hpp b/base/string_utils.hpp
index 28ebba5999..474b186cb9 100644
--- a/base/string_utils.hpp
+++ b/base/string_utils.hpp
@@ -8,6 +8,7 @@
#include "../3party/utfcpp/source/utf8/unchecked.h"
+
/// All methods work with strings in utf-8 format
namespace strings
{
@@ -39,19 +40,8 @@ void MakeLowerCase(string & s);
string MakeLowerCase(string const & s);
bool EqualNoCase(string const & s1, string const & s2);
-inline UniString MakeUniString(string const & utf8s)
-{
- UniString result;
- utf8::unchecked::utf8to32(utf8s.begin(), utf8s.end(), back_inserter(result));
- return result;
-}
-
-inline string ToUtf8(UniString const & s)
-{
- string result;
- utf8::unchecked::utf32to8(s.begin(), s.end(), back_inserter(result));
- return result;
-}
+UniString MakeUniString(string const & utf8s);
+string ToUtf8(UniString const & s);
inline string DebugPrint(UniString const & s)
{
@@ -65,7 +55,7 @@ class TokenizeIterator
DelimFuncT m_delimFunc;
/// Explicitly disabled, because we're storing iterators for string
- TokenizeIterator(char const *, DelimFuncT);
+ TokenizeIterator(char const *, DelimFuncT const &);
void move()
{
@@ -88,13 +78,13 @@ class TokenizeIterator
}
public:
- TokenizeIterator(string const & s, DelimFuncT delimFunc)
+ TokenizeIterator(string const & s, DelimFuncT const & delimFunc)
: m_beg(s.begin()), m_end(s.begin()), m_finish(s.end()), m_delimFunc(delimFunc)
{
move();
}
- TokenizeIterator(UniString const & s, DelimFuncT delimFunc)
+ TokenizeIterator(UniString const & s, DelimFuncT const & delimFunc)
: m_beg(s.begin()), m_end(s.begin()), m_finish(s.end()), m_delimFunc(delimFunc)
{
move();
@@ -118,6 +108,7 @@ public:
{
if (!*this)
return false;
+
TokenizeIterator<DelimFuncT, UniCharIterT> copy(*this);
++copy;
return !copy;
@@ -125,14 +116,7 @@ public:
UniString GetUniString() const
{
- UniString result;
- UniCharIterT iter(m_beg);
- while (iter != m_end)
- {
- result.push_back(*iter);
- ++iter;
- }
- return result;
+ return UniString(m_beg, m_end);
}
};
@@ -165,7 +149,8 @@ UniChar LastUniChar(string const & s);
template <class T, size_t N, class TT> bool IsInArray(T (&arr) [N], TT const & t)
{
for (size_t i = 0; i < N; ++i)
- if (arr[i] == t) return true;
+ if (arr[i] == t)
+ return true;
return false;
}
@@ -187,6 +172,7 @@ inline bool to_uint64(string const & s, uint64_t & i) { return to_uint64(s.c_str
inline bool to_int64(string const & s, int64_t & i) { return to_int64(s.c_str(), i); }
inline bool to_double(string const & s, double & d) { return to_double(s.c_str(), d); }
+/*
template <typename ItT, typename DelimiterT>
typename ItT::value_type JoinStrings(ItT begin, ItT end, DelimiterT const & delimiter)
{
@@ -210,5 +196,5 @@ typename ContainerT::value_type JoinStrings(ContainerT const & container,
{
return JoinStrings(container.begin(), container.end(), delimiter);
}
-
+*/
}