Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::partial_sum_fn Struct Reference

Public Member Functions

template<typename I , typename S , typename O , typename BOp = plus, typename P = identity>
auto operator() (I first, S last, O result, BOp bop=BOp{}, P proj=P{}) const -> partial_sum_result< I, O > requires sentinel_for< S, I > &&partial_sum_constraints< I, O, BOp, P >
 
template<typename I , typename S1 , typename O , typename S2 , typename BOp = plus, typename P = identity>
auto operator() (I first, S1 last, O result, S2 end_result, BOp bop=BOp{}, P proj=P{}) const -> partial_sum_result< I, O > requires sentinel_for< S1, I > &&sentinel_for< S2, O > &&partial_sum_constraints< I, O, BOp, P >
 
template<typename Rng , typename ORef , typename BOp = plus, typename P = identity, typename I = iterator_t<Rng>, typename O = uncvref_t<ORef>>
auto operator() (Rng &&rng, ORef &&result, BOp bop=BOp{}, P proj=P{}) const -> partial_sum_result< safe_iterator_t< Rng >, O > requires range< Rng > &&partial_sum_constraints< I, O, BOp, P >
 
template<typename Rng , typename ORng , typename BOp = plus, typename P = identity, typename I = iterator_t<Rng>, typename O = iterator_t<ORng>>
auto operator() (Rng &&rng, ORng &&result, BOp bop=BOp{}, P proj=P{}) const -> partial_sum_result< safe_iterator_t< Rng >, safe_iterator_t< ORng >> requires range< Rng > &&range< ORng > &&partial_sum_constraints< I, O, BOp, P >