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

Public Member Functions

template<typename I , typename S , typename O , typename F , typename P = ident, requires = (Sentinel<S, I>() && Transformable1<I, O, F, P>())>
tagged_pair< tag::in(I), tag::out(O)> operator() (I begin, S end, O out, F fun, P proj=P{}) const
 
template<typename Rng , typename O , typename F , typename P = ident, typename I = iterator_t<Rng>, requires = (Range<Rng>() && Transformable1<I, O, F, P>())>
tagged_pair< tag::in(safe_iterator_t< Rng >), tag::out(O)> operator() (Rng &&rng, O out, F fun, P proj=P{}) const
 
template<typename I0 , typename S0 , typename I1 , typename S1 , typename O , typename F , typename P0 = ident, typename P1 = ident, requires = (Sentinel<S0, I0>() && Sentinel<S1, I1>() && Transformable2<I0, I1, O, F, P0, P1>())>
tagged_tuple< tag::in1(I0), tag::in2(I1), tag::out(O)> operator() (I0 begin0, S0 end0, I1 begin1, S1 end1, O out, F fun, P0 proj0=P0{}, P1 proj1=P1{}) const
 
template<typename Rng0 , typename Rng1 , typename O , typename F , typename P0 = ident, typename P1 = ident, typename I0 = iterator_t<Rng0>, typename I1 = iterator_t<Rng1>, requires = (Range<Rng0>() && Range<Rng1>() && Transformable2<I0, I1, O, F, P0, P1>())>
tagged_tuple< tag::in1(safe_iterator_t< Rng0 >), tag::in2(safe_iterator_t< Rng1 >), tag::out(O)> operator() (Rng0 &&rng0, Rng1 &&rng1, O out, F fun, P0 proj0=P0{}, P1 proj1=P1{}) const
 
template<typename I0 , typename S0 , typename I1 , typename O , typename F , typename P0 = ident, typename P1 = ident, requires = (Sentinel<S0, I0>() && Transformable2<I0, I1, O, F, P0, P1>())>
tagged_tuple< tag::in1(I0), tag::in2(I1), tag::out(O)> operator() (I0 begin0, S0 end0, I1 begin1, O out, F fun, P0 proj0=P0{}, P1 proj1=P1{}) const
 
template<typename Rng0 , typename I1Ref , typename O , typename F , typename P0 = ident, typename P1 = ident, typename I1 = uncvref_t<I1Ref>, typename I0 = iterator_t<Rng0>, requires = (Range<Rng0>() && Iterator<I1>() && Transformable2<I0, I1, O, F, P0, P1>())>
tagged_tuple< tag::in1(safe_iterator_t< Rng0 >), tag::in2(I1), tag::out(O)> operator() (Rng0 &&rng0, I1Ref &&begin1, O out, F fun, P0 proj0=P0{}, P1 proj1=P1{}) const