...
This commit is contained in:
@@ -485,18 +485,24 @@ protected:
|
||||
inline static auto deserializer = []<typename VT>(std::string_view str, VT& value) {
|
||||
std::error_code ec{};
|
||||
|
||||
mcc::utils::MccSimpleDeserializer deser;
|
||||
deser.setRangeDelim(base_t::VALUE_ARRAY_DELIM);
|
||||
|
||||
if constexpr (std::is_arithmetic_v<VT> || mcc::traits::mcc_output_char_range<VT> || std::ranges::range<VT> ||
|
||||
mcc::traits::mcc_time_duration_c<VT>) {
|
||||
ec = base_t::defaultDeserializeFunc(str, value);
|
||||
// ec = base_t::defaultDeserializeFunc(str, value);
|
||||
ec = deser(str, value);
|
||||
} else if constexpr (std::same_as<VT, mcc::MccAngle>) { // assume here all angles are in degrees
|
||||
double vd;
|
||||
ec = base_t::defaultDeserializeFunc(str, vd);
|
||||
// ec = base_t::defaultDeserializeFunc(str, vd);
|
||||
ec = deser(str, value);
|
||||
if (!ec) {
|
||||
value = mcc::MccAngle(vd, mcc::MccDegreeTag{});
|
||||
}
|
||||
} else if constexpr (std::same_as<VT, mcc::MccDefaultPCMType>) {
|
||||
std::string vstr;
|
||||
ec = base_t::defaultDeserializeFunc(str, vstr);
|
||||
// ec = base_t::defaultDeserializeFunc(str, vstr);
|
||||
ec = deser(str, value);
|
||||
|
||||
if (!ec) {
|
||||
auto s = mcc::utils::trimSpaces(vstr);
|
||||
|
||||
Reference in New Issue
Block a user