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

Public Member Functions

template<typename I , typename S >
constexpr subrange< I, S > operator() (I i, S s) const
 
template<typename I , typename S >
requires input_or_output_iterator<I> && sentinel_for<S, I>
constexpr subrange< I, S, subrange_kind::sized > operator() (I i, S s, detail::iter_size_t< I > n) const
 
template<typename R >
requires borrowed_range<R>
constexpr auto operator() (R &&r) const -> subrange< iterator_t< R >, sentinel_t< R >,(sized_range< R >||sized_sentinel_for< sentinel_t< R >, iterator_t< R > >) ? subrange_kind::sized :subrange_kind::unsized >
 
template<typename R >
requires borrowed_range<R>
constexpr subrange< iterator_t< R >, sentinel_t< R >, subrange_kind::sized > operator() (R &&r, detail::iter_size_t< iterator_t< R > > n) const
 

Related Functions

(Note that these are not member functions.)

constexpr make_subrange_fn make_subrange {}