Range-v3 Range algorithms, views, and actions for the Standard Library |

Public Member Functions | List of all members
ranges::transform_fn Struct Reference
Algorithms

## Public Member Functions
template<typename I , typename S , typename O , typename F , typename P = identity>
auto | operator() (I begin, S end, O out, F fun, P proj=P{}) const -> unary_transform_result< I, O > requires input_iterator< I > &&sentinel_for< S, I > &&weakly_incrementable< O > &&copy_constructible< F > &&writable< O, indirect_result_t< F &, projected< I, P >>>
template<typename I0 , typename S0 , typename I1 , typename O , typename F , typename P0 = identity, typename P1 = identity>
auto | operator() (I0 begin0, S0 end0, I1 begin1, O out, F fun, P0 proj0=P0{}, P1 proj1=P1{}) const -> binary_transform_result< I0, I1, O > requires input_iterator< I0 > &&sentinel_for< S0, I0 > &&input_iterator< I1 > &&weakly_incrementable< O > &&copy_constructible< F > &&writable< O, indirect_result_t< F &, projected< I0, P0 >, projected< I1, P1 >>>
template<typename I0 , typename S0 , typename I1 , typename S1 , typename O , typename F , typename P0 = identity, typename P1 = identity>
auto | operator() (I0 begin0, S0 end0, I1 begin1, S1 end1, O out, F fun, P0 proj0=P0{}, P1 proj1=P1{}) const -> binary_transform_result< I0, I1, O > requires input_iterator< I0 > &&sentinel_for< S0, I0 > &&input_iterator< I1 > &&sentinel_for< S1, I1 > &&weakly_incrementable< O > &&copy_constructible< F > &&writable< O, indirect_result_t< F &, projected< I0, P0 >, projected< I1, P1 >>>
template<typename Rng , typename O , typename F , typename P = identity>
auto | operator() (Rng &&rng, O out, F fun, P proj=P{}) const -> unary_transform_result< safe_iterator_t< Rng >, O > requires input_range< Rng > &&weakly_incrementable< O > &&copy_constructible< F > &&writable< O, indirect_result_t< F &, projected< iterator_t< Rng >, P >>>
template<typename Rng0 , typename I1Ref , typename O , typename F , typename P0 = identity, typename P1 = identity>
auto | operator() (Rng0 &&rng0, I1Ref &&begin1, O out, F fun, P0 proj0=P0{}, P1 proj1=P1{}) const -> binary_transform_result< safe_iterator_t< Rng0 >, uncvref_t< I1Ref >, O > requires input_range< Rng0 > &&input_iterator< uncvref_t< I1Ref >> &&weakly_incrementable< O > &&copy_constructible< F > &&writable< O, indirect_result_t< F &, projected< iterator_t< Rng0 >, P0 >, projected< uncvref_t< I1Ref >, P1 >>>
template<typename Rng0 , typename Rng1 , typename O , typename F , typename P0 = identity, typename P1 = identity>
auto | operator() (Rng0 &&rng0, Rng1 &&rng1, O out, F fun, P0 proj0=P0{}, P1 proj1=P1{}) const -> binary_transform_result< safe_iterator_t< Rng0 >, safe_iterator_t< Rng1 >, O > requires input_range< Rng0 > &&input_range< Rng1 > &&weakly_incrementable< O > &&copy_constructible< F > &&writable< O, indirect_result_t< F &, projected< iterator_t< Rng0 >, P0 >, projected< iterator_t< Rng1 >, P1 >>>