You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment the functions map and flat_map use the function call syntax f(value()). This allows "only" global/static functions and function objects to be used. But it is not possible to use a member function of the wrapped type which would require different call syntax. Using std::invoke(f, value()) instead would lead to a more general interface. This was also proposed in P0798.
One drawback of this approach would be that (e. g. non-const/const) overloaded member functions weren't supported since their type couldn't be deferred (I think?). To support all the variations of no-ref/&/&&, const and noexcept, several new overloads would be needed. And even then, it may not work as expected (?).
The text was updated successfully, but these errors were encountered:
At the moment the functions
map
andflat_map
use the function call syntaxf(value())
. This allows "only" global/static functions and function objects to be used. But it is not possible to use a member function of the wrapped type which would require different call syntax. Usingstd::invoke(f, value())
instead would lead to a more general interface. This was also proposed in P0798.One drawback of this approach would be that (e. g. non-const/
const
) overloaded member functions weren't supported since their type couldn't be deferred (I think?). To support all the variations of no-ref/&
/&&
,const
andnoexcept
, several new overloads would be needed. And even then, it may not work as expected (?).The text was updated successfully, but these errors were encountered: