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 T , std::size_t N>
constexpr auto operator() (T(&val)[N]) const
 
template<typename T >
constexpr auto operator() (T &&t) const
 
template<typename Rng >
auto operator() (Rng &&rng, range_value_t< Rng > val) const -> std::vector< split_value_t< Rng >> requires input_range< Rng > &&indirectly_comparable< iterator_t< Rng >, range_value_t< Rng > const *, ranges::equal_to >
 
template<typename Rng , typename Pattern >
auto operator() (Rng &&rng, Pattern &&pattern) const -> std::vector< split_value_t< Rng >> 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 >)
 

Methods

◆ split

constexpr split_fn split {}
related