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

Synopsis of methods

constexpr view_closure< cache1_fncache1 {}
 

Public Member Functions

template<typename Rng >
CPP_TEMPLATE_AUX_0 c (requires ` viewable_range< Rng > &&input_range< Rng > &&constructible_from< range_value_t< Rng >, range_reference_t< Rng >>) ccconstexpr cache1_view< all_t< Rng >> operator()(Rng &&rng) const
 Caches the most recent element within the view so that dereferencing the view's iterator multiple times doesn't incur any recomputation. This can be useful in adaptor pipelines that include combinations of view::filter and view::transform, for instance. More...
 

Member Function Documentation

◆ c()

template<typename Rng >
CPP_TEMPLATE_AUX_0 ranges::views::cache1_fn::c ( requires ` viewable_range< Rng > &&input_range< Rng > &&constructible_from< range_value_t< Rng >, range_reference_t< Rng >>  ) const &&

Caches the most recent element within the view so that dereferencing the view's iterator multiple times doesn't incur any recomputation. This can be useful in adaptor pipelines that include combinations of view::filter and view::transform, for instance.

Note
views::cache1 is always single-pass.