Represent cItem::m_Lore as an AStringVector (#3882)
* Replace cItem::m_Lore with AStringVector * Reword deprecation warning * Fix lua bindings
This commit is contained in:
@@ -228,6 +228,42 @@ AStringVector StringSplitWithQuotes(const AString & str, const AString & delim)
|
||||
|
||||
|
||||
|
||||
|
||||
AString StringJoin(const AStringVector & a_Strings, const AString & a_Delimeter)
|
||||
{
|
||||
if (a_Strings.empty())
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
// Do a dry run to gather the size
|
||||
const auto DelimSize = a_Delimeter.size();
|
||||
size_t ResultSize = a_Strings[0].size();
|
||||
std::for_each(a_Strings.begin() + 1, a_Strings.end(),
|
||||
[&](const AString & a_String)
|
||||
{
|
||||
ResultSize += DelimSize;
|
||||
ResultSize += a_String.size();
|
||||
}
|
||||
);
|
||||
|
||||
// Now do the actual join
|
||||
AString Result;
|
||||
Result.reserve(ResultSize);
|
||||
Result.append(a_Strings[0]);
|
||||
std::for_each(a_Strings.begin() + 1, a_Strings.end(),
|
||||
[&](const AString & a_String)
|
||||
{
|
||||
Result += a_Delimeter;
|
||||
Result += a_String;
|
||||
}
|
||||
);
|
||||
return Result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
AStringVector StringSplitAndTrim(const AString & str, const AString & delim)
|
||||
{
|
||||
AStringVector results;
|
||||
|
||||
Reference in New Issue
Block a user