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

Synopsis of methods

constexpr view< transform_fntransform {}
 

Public Types

template<typename Rng , typename Fun >
using Concept = meta::and_< InputRange< Rng >, CopyConstructible< Fun >, Invocable< Fun &, range_reference_t< Rng > >, meta::not_< Same< void, concepts::Invocable::result_t< Fun &, range_reference_t< Rng > >> >>
 
template<typename Rng1 , typename Rng2 , typename Fun >
using Concept2 = meta::and_< InputRange< Rng1 >, InputRange< Rng2 >, CopyConstructible< Fun >, Invocable< Fun &, range_reference_t< Rng1 >, range_reference_t< Rng2 > >, meta::not_< Same< void, concepts::Invocable::result_t< Fun &, range_reference_t< Rng1 >, range_reference_t< Rng2 > >> >>
 

Public Member Functions

template<typename Rng , typename Fun , requires = (Concept<Rng, Fun>())>
transform_view< all_t< Rng >, Fun > operator() (Rng &&rng, Fun fun) const
 
template<typename Rng1 , typename Rng2 , typename Fun , requires = (Concept2<Rng1, Rng2, Fun>())>
transform2_view< all_t< Rng1 >, all_t< Rng2 >, Fun > operator() (Rng1 &&rng1, Rng2 &&rng2, Fun fun) const