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

Synopsis of methods | Public Member Functions | List of all members
ranges::make_subrange_fn Struct Reference
Views

## Synopsis of methods
constexpr make_subrange_fn | make_subrange {}

## Public Member Functions
template<typename I , typename S >
constexpr subrange< I, S > | operator() (I i, S s) const
template<typename I , typename S >
constexpr subrange< I, S, subrange_kind::sized > | operator() (I i, S s, detail::iter_size_t< I > n) const
template<typename 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 >
constexpr subrange< iterator_t< R >, sentinel_t< R >, subrange_kind::sized > | operator() (R &&r, detail::iter_size_t< iterator_t< R >> n) const

## Member Function Documentation

## ◆ operator()() [1/3]

template<typename I , typename S >

constexpr subrange<I, S, subrange_kind::sized> ranges::make_subrange_fn::operator() | ( | I | i,
|  | S | s,
|  | detail::iter_size_t< I > | n
| ) |  | const
| constexpr

Precondition
  requires `input_or_output_iterator<I> && sentinel_for<S, I>`

## ◆ operator()() [2/3]

template<typename R >

constexpr auto ranges::make_subrange_fn::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>
| constexpr

Precondition
  requires `borrowed_range<R>`

## ◆ operator()() [3/3]

template<typename R >

constexpr subrange<iterator_t<R>, sentinel_t<R>, subrange_kind::sized> ranges::make_subrange_fn::operator() | ( | R && | r,
|  | detail::iter_size_t< iterator_t< R >> | n
| ) |  | const
| constexpr

Precondition
  requires `borrowed_range<R>`