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

Synopsis of methods | Public Member Functions | List of all members
ranges::views::cache1_fn Struct Reference

## Synopsis of methods
constexpr view_closure< cache1_fn > | cache1 {}

## Public Member Functions
template<typename Rng >
constexpr 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

## ◆ operator()()

template<typename Rng >

constexpr cache1_view<all_t<Rng> > ranges::views::cache1_fn::operator() | ( | Rng && | rng | ) | const
| constexpr

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.

Precondition
  requires `viewable_range<Rng> && input_range<Rng> && constructible_from<range_value_t<Rng>, range_reference_t<Rng>>`