std::indirectly_unary_invocable, std::indirectly_regular_unary_invocable
From cppreference.com
The concepts indirectly_unary_invocable
and indirectly_regular_unary_invocable
specify requirements for algorithms that call (regular) unary invocables as their arguments. The key difference between these concepts and std::invocable is that they are applied to the type the I
references, rather than I
itself.
Notes
The distinction between indirectly_unary_invocable
and indirectly_regular_unary_invocable
is purely semantic.