Range-v3
Range algorithms, views, and actions for the Standard Library
inner_product.hpp File Reference

Classes

struct  ranges::inner_product_fn
 

Variables

constexpr inner_product_fn ranges::inner_product {}
 
template<typename I1 , typename I2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity>
concept ranges::inner_product_constraints
 
template<typename I1 , typename I2 , typename T , typename BOp1 , typename BOp2 , typename P1 , typename P2 >
concept ranges::inner_product_constraints_ = 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>>>>>