__invoke_impl - - Dereference the pointer
Frederick Virchanza Gotham
cauldwell.thomas@gmail.com
Mon Jan 19 22:40:59 GMT 2026
On Mon, Jan 19, 2026 at 4:17 PM Tomasz Kaminski wrote:
>
>> what I'm thinking is best to do, always try to use "->*" but
>> fall back to using "(* ).*, as follows:
>
> This would be non-conforming for the standard, if a user-defined smart pointer
> does something else for overloaded ->*: ptr->*mp, then (*ptr).*mp. The standard
> currently requires us to ignore such overloads for invoke.
I think instead I should give special treatment to class types that
have a member function called '__std_invoke'. If the class has this
method, then invoke it instead of doing "(* ).*". I think that would
keep everyone happy.
More information about the Libstdc++
mailing list