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

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

## Synopsis of methods
constexpr split_fn | split {}

## Public Types
template<typename Rng >
using | split_value_t = meta::if_c<(bool) ranges::container< Rng >, uncvref_t< Rng >, std::vector< range_value_t< Rng > >>

## Public Member Functions
template<typename Rng , typename Pattern >
std::vector< split_value_t< Rng > > | operator() (Rng &&rng, Pattern &&pattern) const
template<typename Rng >
std::vector< split_value_t< Rng > > | operator() (Rng &&rng, range_value_t< Rng > val) const
template<typename T >
constexpr auto | operator() (T &&t) const
template<typename T >
constexpr auto | operator() (T &t) const

## Member Function Documentation

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

template<typename Rng , typename Pattern >

std::vector<split_value_t<Rng> > ranges::actions::split_fn::operator() | ( | Rng && | rng,
|  | Pattern && | pattern
| ) |  | const

Precondition
  requires `input_range<Rng> && viewable_range<Pattern> && forward_range<Pattern> && indirectly_comparable< iterator_t<Rng>, iterator_t<Pattern>, ranges::equal_to> && (forward_range<Rng> || detail::tiny_range<Pattern>)` //

References ranges::aux::move.

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

template<typename Rng >

std::vector<split_value_t<Rng> > ranges::actions::split_fn::operator() | ( | Rng && | rng,
|  | range_value_t< Rng > | val
| ) |  | const

Precondition
  requires `input_range<Rng> && indirectly_comparable< iterator_t<Rng>, range_value_t<Rng> const *, ranges::equal_to>`

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

template<typename T >

constexpr auto ranges::actions::split_fn::operator() | ( | T & | t | ) | const
| constexpr

Precondition
  requires `range<T &>`