summaryrefslogtreecommitdiff
path: root/src/utils/string.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/string.cpp')
-rw-r--r--src/utils/string.cpp27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/utils/string.cpp b/src/utils/string.cpp
index d5e6d229..b1c1a058 100644
--- a/src/utils/string.cpp
+++ b/src/utils/string.cpp
@@ -24,13 +24,15 @@
#include <algorithm>
#include <sstream>
-std::string utils::toupper(std::string s)
+namespace utils {
+
+std::string toupper(std::string s)
{
std::transform(s.begin(), s.end(), s.begin(), (int(*)(int)) std::toupper);
return s;
}
-bool utils::isNumeric(const std::string &s)
+bool isNumeric(const std::string &s)
{
for (unsigned int i = 0; i < s.size(); ++i)
{
@@ -43,7 +45,7 @@ bool utils::isNumeric(const std::string &s)
return true;
}
-int utils::stringToInt(const std::string &s)
+int stringToInt(const std::string &s)
{
int value;
std::stringstream str(s);
@@ -53,3 +55,22 @@ int utils::stringToInt(const std::string &s)
return value;
}
+
+int compareStrI(const std::string &a, const std::string &b)
+{
+ std::string::const_iterator itA = a.begin();
+ std::string::const_iterator endA = a.end();
+ std::string::const_iterator itB = b.begin();
+ std::string::const_iterator endB = b.end();
+
+ for (; itA < endA, itB < endB; ++itA, ++itB)
+ {
+ int comp = tolower(*itA) - tolower(*itB);
+ if (comp)
+ return comp;
+ }
+
+ return 0;
+}
+
+} // namespace utils