std::indirect_result_t - std::indirect_result_t
Defined in header <iterator>
template< class F, class... Is >
requires (std::indirectly_readable<Is> && ...) &&
std::invocable<F, std::iter_reference_t<Is>...> (since
C++20)
using indirect_result_t = std::invoke_result_t<F,
std::iter_reference_t<Is>...>;
The alias template indirect_result_t obtains the result type of invoking an
invocable type F on the result of dereferencing indirectly_readable types
Is....
F - an invocable type
Is - indirectly readable types that are dereferenced to arguments
result_of deduces the result type of invoking a callable object
with
invoke_result a set of arguments
(C++11)(removed in C++20) (class template)
(C++17)