1
0

StringUtils: Added string vector manipulation.

This commit is contained in:
Mattes D
2015-01-24 09:39:14 +01:00
parent 42162b5193
commit 40e231bc29
2 changed files with 54 additions and 1 deletions

View File

@@ -905,3 +905,47 @@ bool SplitZeroTerminatedStrings(const AString & a_Strings, AStringVector & a_Out
AStringVector MergeStringVectors(const AStringVector & a_Strings1, const AStringVector & a_Strings2)
{
// Initialize the resulting vector by the first vector:
AStringVector res = a_Strings1;
// Add each item from strings2 that is not already present:
for (auto item : a_Strings2)
{
if (std::find(res.begin(), res.end(), item) != res.end())
{
res.push_back(item);
}
} // for item - a_Strings2[]
return res;
}
AString StringsConcat(const AStringVector & a_Strings, char a_Separator)
{
// If the vector is empty, return an empty string:
if (a_Strings.empty())
{
return "";
}
// Concatenate the strings in the vector:
AString res;
res.append(a_Strings[0]);
for (auto itr = a_Strings.cbegin() + 1, end = a_Strings.cend(); itr != end; ++itr)
{
res.push_back(a_Separator);
res.append(*itr);
}
return res;
}