|
template<typename I1 , typename S1 , typename I2 , typename S2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity> |
T | operator() (I1 begin1, S1 end1, I2 begin2, S2 end2, T init, BOp1 bop1=BOp1{}, BOp2 bop2=BOp2{}, P1 proj1=P1{}, P2 proj2=P2{}) const |
|
template<typename I1 , typename S1 , typename I2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity> |
T | operator() (I1 begin1, S1 end1, I2 begin2, T init, BOp1 bop1=BOp1{}, BOp2 bop2=BOp2{}, P1 proj1=P1{}, P2 proj2=P2{}) const |
|
template<typename Rng1 , typename I2Ref , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity, typename I1 = iterator_t<Rng1>, typename I2 = uncvref_t<I2Ref>> |
T | operator() (Rng1 &&rng1, I2Ref &&begin2, T init, BOp1 bop1=BOp1{}, BOp2 bop2=BOp2{}, P1 proj1=P1{}, P2 proj2=P2{}) const |
|
template<typename Rng1 , typename Rng2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity, typename I1 = iterator_t<Rng1>, typename I2 = iterator_t<Rng2>> |
T | operator() (Rng1 &&rng1, Rng2 &&rng2, T init, BOp1 bop1=BOp1{}, BOp2 bop2=BOp2{}, P1 proj1=P1{}, P2 proj2=P2{}) const |
|
template<typename I1 , typename S1 , typename I2 , typename S2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity>
T ranges::inner_product_fn::operator() |
( |
I1 |
begin1, |
|
|
S1 |
end1, |
|
|
I2 |
begin2, |
|
|
S2 |
end2, |
|
|
T |
init, |
|
|
BOp1 |
bop1 = BOp1{} , |
|
|
BOp2 |
bop2 = BOp2{} , |
|
|
P1 |
proj1 = P1{} , |
|
|
P2 |
proj2 = P2{} |
|
) |
| const |
- Precondition
- requires
sentinel_for<S1, I1> && sentinel_for<S2, I2> && inner_product_constraints<I1, I2, T, BOp1, BOp2, P1, P2>
template<typename I1 , typename S1 , typename I2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity>
T ranges::inner_product_fn::operator() |
( |
I1 |
begin1, |
|
|
S1 |
end1, |
|
|
I2 |
begin2, |
|
|
T |
init, |
|
|
BOp1 |
bop1 = BOp1{} , |
|
|
BOp2 |
bop2 = BOp2{} , |
|
|
P1 |
proj1 = P1{} , |
|
|
P2 |
proj2 = P2{} |
|
) |
| const |
- Precondition
- requires
sentinel_for<S1, I1> && inner_product_constraints<I1, I2, T, BOp1, BOp2, P1, P2>
template<typename Rng1 , typename I2Ref , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity, typename I1 = iterator_t<Rng1>, typename I2 = uncvref_t<I2Ref>>
T ranges::inner_product_fn::operator() |
( |
Rng1 && |
rng1, |
|
|
I2Ref && |
begin2, |
|
|
T |
init, |
|
|
BOp1 |
bop1 = BOp1{} , |
|
|
BOp2 |
bop2 = BOp2{} , |
|
|
P1 |
proj1 = P1{} , |
|
|
P2 |
proj2 = P2{} |
|
) |
| const |
- Precondition
- requires
range<Rng1> && inner_product_constraints<I1, I2, T, BOp1, BOp2, P1, P2>
template<typename Rng1 , typename Rng2 , typename T , typename BOp1 = plus, typename BOp2 = multiplies, typename P1 = identity, typename P2 = identity, typename I1 = iterator_t<Rng1>, typename I2 = iterator_t<Rng2>>
T ranges::inner_product_fn::operator() |
( |
Rng1 && |
rng1, |
|
|
Rng2 && |
rng2, |
|
|
T |
init, |
|
|
BOp1 |
bop1 = BOp1{} , |
|
|
BOp2 |
bop2 = BOp2{} , |
|
|
P1 |
proj1 = P1{} , |
|
|
P2 |
proj2 = P2{} |
|
) |
| const |
- Precondition
- requires
range<Rng1> && range<Rng2> && inner_product_constraints<I1, I2, T, BOp1, BOp2, P1, P2>