5 #ifndef VCCC_ITERATOR_INDIRECT_BINARY_PREDICATE_HPP
6 #define VCCC_ITERATOR_INDIRECT_BINARY_PREDICATE_HPP
26 has_typename_type<iter_common_reference<I1>>,
27 has_typename_type<iter_common_reference<I2>>
30 struct indirect_binary_predicate_impl_2
32 predicate<F&, iter_value_t<I1>&, iter_value_t<I2>&>,
33 predicate<F&, iter_value_t<I1>&, iter_reference_t<I2>>,
34 predicate<F&, iter_reference_t<I1>&, iter_value_t<I2>&>,
35 predicate<F&, iter_reference_t<I1>&, iter_reference_t<I2>>,
36 predicate<F&, iter_common_reference_t<I1>&, iter_common_reference_t<I2>>
39 template<
typename F,
typename I1,
typename I2>
40 struct indirect_binary_predicate_impl_2<F, I1, I2, false> : std::false_type {};
48 indirectly_readable<I1>,
49 indirectly_readable<I2>,
53 struct indirect_binary_predicate_impl_1 : indirect_binary_predicate_impl_2<F, I1, I2> {};
55 template<
typename F,
typename I1,
typename I2>
56 struct indirect_binary_predicate_impl_1<F, I1, I2, false> : std::false_type {};
74 template<
typename F,
typename I1,
typename I2>
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35
specifies that a callable type, when invoked with the result of dereferencing two indirectly_readable...
Definition: indirect_binary_predicate.hpp:75