We currently need to write different invoke syntax for each of:
regular function call, functor or a member function (through std::invoke)
invoke on a fn::pack
transform_to on fn::sum (plus return type calculation for the same effect as transform)
Ideally this should be pulled into different overloads of fn::invoke (and corresponding specializations of fn::invocable and fn::invocable_r), which will enable us to simplify lots of things (e.g. implementation of fn::optional , fn::expected and many|all the functors).
Eventually we will propose to add this functionality into std::invoke (and family)
We currently need to write different invoke syntax for each of:
std::invoke
)invoke
on afn::pack
transform_to
onfn::sum
(plus return type calculation for the same effect astransform
)Ideally this should be pulled into different overloads of
fn::invoke
(and corresponding specializations offn::invocable
andfn::invocable_r
), which will enable us to simplify lots of things (e.g. implementation offn::optional
,fn::expected
and many|all the functors).Eventually we will propose to add this functionality into
std::invoke
(and family)