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

Synopsis of methods | Public Member Functions | List of all members
ranges::actions::slice_fn Struct Reference

## Synopsis of methods
constexpr slice_fn | slice {}

## Public Member Functions
template<typename D >
constexpr auto | operator() (D from, D to) const
template<typename D >
constexpr auto | operator() (D from, detail::from_end_< D > to) const
template<typename D >
constexpr auto | operator() (D from, end_fn const &to) const
template<typename D >
constexpr auto | operator() (detail::from_end_< D > from, detail::from_end_< D > to) const
template<typename D >
constexpr auto | operator() (detail::from_end_< D > from, end_fn const &to) const
template<typename Rng , typename I = iterator_t<Rng>>
Rng | operator() (Rng &&rng, detail::from_end_< diff_t< Rng >> from, detail::from_end_< diff_t< Rng >> to) const
template<typename Rng , typename I = iterator_t<Rng>>
Rng | operator() (Rng &&rng, detail::from_end_< diff_t< Rng >> from, end_fn const &) const
template<typename Rng , typename I = iterator_t<Rng>>
Rng | operator() (Rng &&rng, diff_t< Rng > from, detail::from_end_< diff_t< Rng >> to) const
template<typename Rng , typename I = iterator_t<Rng>>
Rng | operator() (Rng &&rng, diff_t< Rng > from, diff_t< Rng > to) const
template<typename Rng , typename I = iterator_t<Rng>>
Rng | operator() (Rng &&rng, diff_t< Rng > from, end_fn const &) const

## Member Function Documentation

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

template<typename D >

constexpr auto ranges::actions::slice_fn::operator() | ( | D | from,
|  | D | to
| ) |  | const
| constexpr

Precondition
  requires `integral<D>`

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

template<typename D >

constexpr auto ranges::actions::slice_fn::operator() | ( | D | from,
|  | detail::from_end_< D > | to
| ) |  | const
| constexpr

Precondition
  requires `integral<D>`

References ranges::make_action_closure, and ranges::to().

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

template<typename D >

constexpr auto ranges::actions::slice_fn::operator() | ( | D | from,
|  | end_fn const & | to
| ) |  | const
| constexpr

Precondition
  requires `integral<D>`

References ranges::make_action_closure, and ranges::to().

## ◆ operator()() [4/10]

template<typename D >

constexpr auto ranges::actions::slice_fn::operator() | ( | detail::from_end_< D > | from,
|  | detail::from_end_< D > | to
| ) |  | const
| constexpr

Precondition
  requires `integral<D>`

References ranges::make_action_closure, and ranges::to().

## ◆ operator()() [5/10]

template<typename D >

constexpr auto ranges::actions::slice_fn::operator() | ( | detail::from_end_< D > | from,
|  | end_fn const & | to
| ) |  | const
| constexpr

Precondition
  requires `integral<D>`

References ranges::make_action_closure, and ranges::to().

## ◆ operator()() [6/10]

template<typename Rng , typename I = iterator_t<Rng>>

Rng ranges::actions::slice_fn::operator() | ( | Rng && | rng,
|  | detail::from_end_< diff_t< Rng >> | from,
|  | detail::from_end_< diff_t< Rng >> | to
| ) |  | const

Precondition
  requires `bidirectional_range<Rng> && erasable_range<Rng &, I, I>`

## ◆ operator()() [7/10]

template<typename Rng , typename I = iterator_t<Rng>>

Rng ranges::actions::slice_fn::operator() | ( | Rng && | rng,
|  | detail::from_end_< diff_t< Rng >> | from,
|  | end_fn const & |
| ) |  | const

Precondition
  requires `bidirectional_range<Rng> && erasable_range<Rng &, I, I>`

## ◆ operator()() [8/10]

template<typename Rng , typename I = iterator_t<Rng>>

Rng ranges::actions::slice_fn::operator() | ( | Rng && | rng,
|  | diff_t< Rng > | from,
|  | detail::from_end_< diff_t< Rng >> | to
| ) |  | const

Precondition
  requires `bidirectional_range<Rng> && erasable_range<Rng &, I, I>`

## ◆ operator()() [9/10]

template<typename Rng , typename I = iterator_t<Rng>>

Rng ranges::actions::slice_fn::operator() | ( | Rng && | rng,
|  | diff_t< Rng > | from,
|  | diff_t< Rng > | to
| ) |  | const

Precondition
  requires `forward_range<Rng> && erasable_range<Rng &, I, I>`

References ranges::make_action_closure, and ranges::to().

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

template<typename Rng , typename I = iterator_t<Rng>>

Rng ranges::actions::slice_fn::operator() | ( | Rng && | rng,
|  | diff_t< Rng > | from,
|  | end_fn const & |
| ) |  | const

Precondition
  requires `forward_range<Rng> && erasable_range<Rng &, I, I>`