This commit is contained in:
Timur A. Fatkhullin 2024-05-12 19:23:15 +03:00
parent 6d28bf7747
commit e23fc602be

View File

@ -530,19 +530,13 @@ public:
*/
template <typename HolderT,
std::invocable<> GT,
typename VALT = traits::adc_retval_t<GT>,
std::invocable<const VALT&> ST,
typename... Ts>
HolderT makeArithmValue(GT&& getter, ST&& setter, Ts&&... other_ctor_args)
template <typename HolderT, typename... Ts>
HolderT makeArithmValue(Ts&&... ctor_args)
{
using val_t = traits::adc_retval_t<GT>;
static_assert(std::is_same_v<HolderT, AdcValueHolder> || std::is_same_v<HolderT, AdcSerializingValueHolder>,
"Invalid value holder type!!!");
static_assert(std::is_arithmetic_v<val_t>, "GETTER MUST RETURN AN ARITHMETIC TYPE VALUE!!!");
return HolderT(AdcValueHolder::defaultTrivialConvTypes, std::forward<GT>(getter), std::forward<ST>(setter),
std::forward<Ts>(other_ctor_args)...);
return HolderT(AdcValueHolder::defaultTrivialConvTypes, std::forward<Ts>(ctor_args)...);
}
} // namespace adc