-
Notifications
You must be signed in to change notification settings - Fork 70
Open
Description
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 (?).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels