...
This commit is contained in:
parent
6d28bf7747
commit
e23fc602be
@ -530,19 +530,13 @@ public:
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template <typename HolderT,
|
template <typename HolderT, typename... Ts>
|
||||||
std::invocable<> GT,
|
HolderT makeArithmValue(Ts&&... ctor_args)
|
||||||
typename VALT = traits::adc_retval_t<GT>,
|
|
||||||
std::invocable<const VALT&> ST,
|
|
||||||
typename... Ts>
|
|
||||||
HolderT makeArithmValue(GT&& getter, ST&& setter, Ts&&... other_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<Ts>(ctor_args)...);
|
||||||
|
|
||||||
return HolderT(AdcValueHolder::defaultTrivialConvTypes, std::forward<GT>(getter), std::forward<ST>(setter),
|
|
||||||
std::forward<Ts>(other_ctor_args)...);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace adc
|
} // namespace adc
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user