Unify arg lists, allow for trailing spaces in args

This commit is contained in:
vaxerski
2022-10-03 14:29:45 +01:00
parent a97621b1cb
commit 0a08830375
2 changed files with 129 additions and 156 deletions

View File

@@ -70,6 +70,48 @@ struct SAnimationPropertyConfig {
SAnimationPropertyConfig* pParentAnimation = nullptr;
};
class CVarList {
public:
CVarList(const std::string& in) {
std::string curitem = "";
std::string argZ = in;
auto nextItem = [&]() {
auto idx = argZ.find_first_of(',');
if (idx != std::string::npos) {
curitem = argZ.substr(0, idx);
argZ = argZ.substr(idx + 1);
} else {
curitem = argZ;
argZ = STRVAL_EMPTY;
}
};
nextItem();
while (curitem != STRVAL_EMPTY) {
m_vArgs.push_back(removeBeginEndSpacesTabs(curitem));
nextItem();
}
};
~CVarList() = default;
int size() const {
return m_vArgs.size();
}
std::string operator[](const long unsigned int& idx) const {
if (idx >= m_vArgs.size())
return "";
return m_vArgs[idx];
}
private:
std::vector<std::string> m_vArgs;
};
class CConfigManager {
public:
CConfigManager();