concept | ranges::inner_product_constraints = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( input_iterator<I1> && input_iterator<I2> && invocable<P1& )( input_iterator<I1> && input_iterator<I2> && invocable<P1&, iter_value_t<I1>> && invocable<P2&, iter_value_t<I2>> && invocable< BOp2&, invoke_result_t<P1&, iter_value_t<I1>>, invoke_result_t<P2&, iter_value_t<I2>>> && invocable< BOp1&, T, invoke_result_t< BOp2&, invoke_result_t<P1&, iter_value_t<I1>>, invoke_result_t<P2&, iter_value_t<I2>>>> && assignable_from< T&, invoke_result_t< BOp1&, T, invoke_result_t< BOp2&, invoke_result_t<P1&, iter_value_t<I1>>, invoke_result_t<P2&, iter_value_t<I2>>>>> ) |