This commit is contained in:
Timur A. Fatkhullin
2024-05-01 17:17:05 +03:00
parent 066cb7cf95
commit 0d64e0cf44
5 changed files with 35 additions and 14 deletions

View File

@@ -382,9 +382,11 @@ protected:
static_assert(std::is_convertible_v<traits::adc_retval_t<DSRT>, ValueT>,
"INVALID RETURNED TYPE OF DESERIALIZING CALLABLE!!!");
_serializerWrapper = [wrapper = traits::adc_pf_wrapper(std::forward<SRT>(serializer)), this]() {
auto& serializer = std::get<0>(wrapper);
auto val = _getterFunc<ValueT>[this]();
return serializer(val);
@@ -486,6 +488,8 @@ public:
AdcValueHolder::resetValueHolder(std::forward<GT>(getter), std::forward<ST>(setter),
std::forward<VT>(validator));
initWrappers<ret_value_t<GT>>(std::forward<SRT>(serializer), std::forward<DSRT>(deserializer));
return *this;
}
@@ -507,6 +511,8 @@ public:
std::forward<VT>(validator), std::tuple<Ts...>{});
initWrappers<ret_value_t<GT>>(std::forward<SRT>(serializer), std::forward<DSRT>(deserializer));
return *this;
}
template <typename GT,
@@ -524,6 +530,8 @@ public:
AdcValueHolder::resetValueHolder(std::forward<GT>(getter), std::forward<ST>(setter), std::tuple<Ts...>{});
initWrappers<ret_value_t<GT>>(std::forward<SRT>(serializer), std::forward<DSRT>(deserializer));
return *this;
}