Improve coding style in CLI code

* Use `std::string_view` instead of `const std::string &`
* Use `const` and `auto` where it makes sense
This commit is contained in:
Martchus 2021-12-31 00:41:56 +01:00
parent c71fde86ec
commit dca5905744
3 changed files with 15 additions and 12 deletions

View File

@ -475,12 +475,15 @@ std::uint64_t parseUInt64(const Argument &arg, std::uint64_t defaultValue)
return defaultValue;
}
TagTarget::IdContainerType parseIds(const std::string &concatenatedIds)
TagTarget::IdContainerType parseIds(std::string_view concatenatedIds)
{
auto splittedIds = splitString(concatenatedIds, ",", EmptyPartsTreat::Omit);
TagTarget::IdContainerType convertedIds;
const auto splittedIds = splitStringSimple(concatenatedIds, ",");
auto convertedIds = TagTarget::IdContainerType();
convertedIds.reserve(splittedIds.size());
for (const auto &id : splittedIds) {
if (id.empty()) {
continue;
}
try {
convertedIds.push_back(stringToNumber<TagTarget::IdType>(id));
} catch (const ConversionException &) {
@ -492,7 +495,7 @@ TagTarget::IdContainerType parseIds(const std::string &concatenatedIds)
return convertedIds;
}
bool applyTargetConfiguration(TagTarget &target, const std::string &configStr)
bool applyTargetConfiguration(TagTarget &target, std::string_view configStr)
{
if (!configStr.empty()) {
if (configStr.compare(0, 13, "target-level=") == 0) {
@ -504,7 +507,7 @@ bool applyTargetConfiguration(TagTarget &target, const std::string &configStr)
exit(-1);
}
} else if (configStr.compare(0, 17, "target-levelname=") == 0) {
target.setLevelName(configStr.substr(17));
target.setLevelName(std::string(configStr.substr(17)));
} else if (configStr.compare(0, 14, "target-tracks=") == 0) {
target.tracks() = parseIds(configStr.substr(14));
} else if (configStr.compare(0, 16, "target-chapters=") == 0) {
@ -616,9 +619,9 @@ FieldDenotations parseFieldDenotations(const Argument &fieldsArg, bool readOnly)
// read field name
const auto equationPos = strchr(fieldDenotationString, '=');
size_t fieldNameLen = equationPos ? static_cast<size_t>(equationPos - fieldDenotationString) : strlen(fieldDenotationString);
auto fieldNameLen = equationPos ? static_cast<size_t>(equationPos - fieldDenotationString) : strlen(fieldDenotationString);
// field name might denote increment ("+") or path disclosure (">")
DenotationType type = DenotationType::Normal;
auto type = DenotationType::Normal;
if (fieldNameLen && equationPos) {
switch (*(equationPos - 1)) {
case '+':

View File

@ -298,8 +298,8 @@ TagUsage parseUsageDenotation(const CppUtilities::Argument &usageArg, TagUsage d
TagTextEncoding parseEncodingDenotation(const CppUtilities::Argument &encodingArg, TagTextEncoding defaultEncoding);
ElementPosition parsePositionDenotation(const CppUtilities::Argument &posArg, const CppUtilities::Argument &valueArg, ElementPosition defaultPos);
std::uint64_t parseUInt64(const CppUtilities::Argument &arg, std::uint64_t defaultValue);
TagTarget::IdContainerType parseIds(const std::string &concatenatedIds);
bool applyTargetConfiguration(TagTarget &target, const std::string &configStr);
TagTarget::IdContainerType parseIds(std::string_view concatenatedIds);
bool applyTargetConfiguration(TagTarget &target, std::string_view configStr);
FieldDenotations parseFieldDenotations(const CppUtilities::Argument &fieldsArg, bool readOnly);
std::string tagName(const Tag *tag);
bool stringToBool(const std::string &str);

View File

@ -579,12 +579,12 @@ void setTagInfo(const SetTagInfoArgs &args)
fileInfo.parseTags(diag, parsingProgress);
fileInfo.parseTracks(diag, parsingProgress);
fileInfo.parseAttachments(diag, parsingProgress);
vector<Tag *> tags;
// remove tags with the specified targets
if (validRemoveTargetsSpecified) {
auto tags = std::vector<Tag *>();
if (!targetsToRemove.empty()) {
fileInfo.tags(tags);
for (auto *tag : tags) {
for (auto *const tag : tags) {
if (find(targetsToRemove.cbegin(), targetsToRemove.cend(), tag->target()) != targetsToRemove.cend()) {
fileInfo.removeTag(tag);
}