...
This commit is contained in:
parent
6d28bf7747
commit
e23fc602be
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user