5 #ifndef VCCC_ITERATOR_INDIRECT_RESULT_T_HPP
6 #define VCCC_ITERATOR_INDIRECT_RESULT_T_HPP
18 template<
bool ,
typename F,
typename... Is>
19 struct indirect_result_impl_2 {
20 using type = invoke_result_t<F, iter_reference_t<Is>...>;
23 template<
typename F,
typename... Is>
24 struct indirect_result_impl_2<false, F, Is...> {};
26 template<
bool ,
typename F,
typename... Is>
27 struct indirect_result_impl_1
28 : indirect_result_impl_2<
29 invocable<F, iter_reference_t<Is>...>::value,
34 template<
typename F,
typename... Is>
35 struct indirect_result_impl_1<false, F, Is...> {};
42 template<
typename F,
typename... Is>
44 : detail::indirect_result_impl_1<
46 indirectly_readable<Is>...,
47 has_typename_type<iter_reference<Is>>...
53 template<
typename F,
typename... Is>
typename indirect_result< F, Is... >::type indirect_result_t
Definition: indirect_result_t.hpp:54
Definition: directory.h:12
Definition: indirect_result_t.hpp:51