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

Public Member Functions

template<typename I , typename S , typename O , typename BOp = plus, typename P = ident, requires = (Sentinel<S, I>() && PartialSummable<I, O, BOp, P>())>
std::pair< I, O > operator() (I begin, S end, O result, BOp bop_=BOp{}, P proj_=P{}) const
 
template<typename I , typename S , typename O , typename S2 , typename BOp = plus, typename P = ident, requires = (Sentinel<S, I>() && Sentinel<S2, O>() && PartialSummable<I, O, BOp, P>())>
std::pair< I, O > operator() (I begin, S end, O result, S2 end_result, BOp bop_=BOp{}, P proj_=P{}) const
 
template<typename Rng , typename ORef , typename BOp = plus, typename P = ident, typename I = range_iterator_t<Rng>, typename O = uncvref_t<ORef>, requires = (Range<Rng &>() && PartialSummable<I, O, BOp, P>())>
std::pair< I, O > operator() (Rng &rng, ORef &&result, BOp bop=BOp{}, P proj=P{}) const
 
template<typename Rng , typename ORng , typename BOp = plus, typename P = ident, typename I = range_iterator_t<Rng>, typename O = range_iterator_t<ORng>, requires = (Range<Rng &>() && Range<ORng &>() && PartialSummable<I, O, BOp, P>())>
std::pair< I, O > operator() (Rng &rng, ORng &result, BOp bop=BOp{}, P proj=P{}) const