Index: compiled/String.cpp
diff --git a/compiled/String.cpp b/compiled/String.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..38f458a432978d7c516ce07f796c77428d6a31ec
--- /dev/null
+++ b/compiled/String.cpp
@@ -0,0 +1,48 @@
+/*
+* This file is part of Adblock Plus ,
+* Copyright (C) 2006-present eyeo GmbH
+*
+* Adblock Plus is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License version 3 as
+* published by the Free Software Foundation.
+*
+* Adblock Plus is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with Adblock Plus. If not, see .
+*/
+
+#include "String.h"
+
+ABP_NS_BEGIN
+
+DependentString TrimSpaces(const String& value)
+{
+ String::size_type start = 0;
+ auto end = value.length();
+ for (; start < end; ++start)
+ {
+ if (value[start] > u' ')
+ break;
+ }
+ for (; end > start; --end)
+ {
+ if (value[end - 1] > u' ')
+ break;
+ }
+ return DependentString(value, start, end - start);
+}
+
+std::pair SplitString(const String& value, String::size_type separatorPos)
+{
+ const auto secondBeginPos = separatorPos < String::npos ? separatorPos + 1 : String::npos;
+ return {
+ DependentString{value, 0, separatorPos},
+ DependentString{value, secondBeginPos, value.length() - secondBeginPos}
+ };
+}
+
+ABP_NS_END