template<typename I1 , typename I2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = ident, typename P2 = ident, typename V1 = value_type_t<I1>, typename V2 = value_type_t<I2>, typename X1 = concepts::Invocable::result_t<P1&, V1>, typename X2 = concepts::Invocable::result_t<P2&, V2>, typename Y2 = concepts::Invocable::result_t<BOp2&, X1, X2>, typename Y1 = concepts::Invocable::result_t<BOp1&, T, Y2>> |
using | ranges::v3::InnerProductable = meta::strict_and< InputIterator< I1 >, InputIterator< I2 >, Invocable< P1 &, V1 >, Invocable< P2 &, V2 >, Invocable< BOp2 &, X1, X2 >, Invocable< BOp1 &, T, Y2 >, Assignable< T &, Y2 > > |