various Asibfm700MountConfig class fixes
This commit is contained in:
@@ -482,21 +482,23 @@ public:
|
||||
el_t elem;
|
||||
size_t i = 0;
|
||||
|
||||
auto els = std::views::split(bytes, _rangeDelim);
|
||||
if (trimSpaces(bytes).size()) {
|
||||
auto els = std::views::split(bytes, _rangeDelim);
|
||||
|
||||
for (auto const& el : els) {
|
||||
ret = (*this)(std::string_view(el), elem);
|
||||
if (!ret) {
|
||||
if constexpr (traits::mcc_array_c<VT>) {
|
||||
if (i < std::ranges::size(r)) {
|
||||
r[i] = elem;
|
||||
for (auto const& el : els) {
|
||||
ret = (*this)(std::string_view(el), elem);
|
||||
if (!ret) {
|
||||
if constexpr (traits::mcc_array_c<VT>) {
|
||||
if (i < std::ranges::size(r)) {
|
||||
r[i] = elem;
|
||||
}
|
||||
++i;
|
||||
} else {
|
||||
std::back_inserter(r) = elem;
|
||||
}
|
||||
++i;
|
||||
} else {
|
||||
std::back_inserter(r) = elem;
|
||||
return std::make_error_code(std::errc::invalid_argument);
|
||||
}
|
||||
} else {
|
||||
return std::make_error_code(std::errc::invalid_argument);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -630,6 +632,9 @@ public:
|
||||
if constexpr (std::convertible_to<T, VT>) {
|
||||
val = value;
|
||||
return std::error_code();
|
||||
} else if constexpr (std::constructible_from<VT, T>) {
|
||||
val = VT(value);
|
||||
return std::error_code();
|
||||
} else {
|
||||
return std::make_error_code(std::errc::invalid_argument);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user