42 template<
typename Rng>
45 uncvref_t<Rng>, std::vector<range_value_t<Rng>>>;
49 constexpr auto operator()(T & t)
const
51 return make_action_closure(
52 bind_back(
split_fn{}, detail::reference_wrapper_<T>(t)));
56 constexpr auto operator()(T && t)
const
58 return make_action_closure(bind_back(
split_fn{},
static_cast<T &&
>(t)));
63 template(
typename Rng)(
66 std::vector<split_value_t<Rng>>
67 operator()(Rng && rng, range_value_t<Rng> val)
const
69 return views::split(rng, std::move(val)) |
70 to<std::vector<split_value_t<Rng>>>();
73 template(
typename Rng,
typename Pattern)(
81 std::vector<split_value_t<Rng>>
operator()(Rng && rng, Pattern && pattern)
84 return views::split(rng,
static_cast<Pattern &&
>(pattern)) |
85 to<std::vector<split_value_t<Rng>>>();
89 template<
typename Rng,
typename T>
90 invoke_result_t<split_fn, Rng, T &>
91 operator()(Rng && rng, detail::reference_wrapper_<T> r)
const
93 return (*
this)(
static_cast<Rng &&
>(rng), r.get());