Range-v3
Range algorithms, views, and actions for the Standard Library
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 >
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 > std::vector< split_value_t< Rng > > operator() (Rng &&rng, Pattern &&pattern) const
 
template<typename Rng >
requires input_range< Rng > &&indirectly_comparable< iterator_t< Rng >, range_value_t< Rng > const *, ranges::equal_to > 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 >
requires constexpr range< T & > auto operator() (T &t) const