14#ifndef RANGES_V3_ACTION_SPLIT_WHEN_HPP
15#define RANGES_V3_ACTION_SPLIT_WHEN_HPP
30#include <range/v3/utility/static_const.hpp>
33#include <range/v3/detail/prologue.hpp>
43 template<
typename Rng>
46 uncvref_t<Rng>, std::vector<range_value_t<Rng>>>;
48 template<
typename Fun>
49 constexpr auto operator()(Fun fun)
const
51 return make_action_closure(
57 template(
typename Rng,
typename Fun)(
61 copy_constructible<Fun> AND
65 std::vector<split_value_t<Rng>> operator()(Rng && rng, Fun fun)
const
67 return views::split_when(rng, std::move(fun)) |
68 to<std::vector<split_value_t<Rng>>>();
71 template(
typename Rng,
typename Fun)(
73 predicate<Fun
const &, range_reference_t<Rng>> AND
74 copy_constructible<Fun>)
75 std::vector<split_value_t<Rng>> operator()(Rng && rng, Fun fun)
const
77 return views::split_when(rng, std::move(fun)) |
78 to<std::vector<split_value_t<Rng>>>();
88#include <range/v3/detail/epilogue.hpp>
The forward_range concept.
decltype(begin(declval(Rng &))) iterator_t
Definition: access.hpp:698
RANGES_INLINE_VARIABLE(detail::to_container_fn< detail::from_range< std::vector > >, to_vector) template< template< typename... > class ContT > auto to(RANGES_HIDDEN_DETAIL(detail
For initializing a container of the specified type with the elements of an Range.
Definition: conversion.hpp:399
defer< bind_back, Fn, Ts... > bind_back
Definition: meta.hpp:994
list< F, S > pair
A list with exactly two elements.
Definition: meta.hpp:2246
Definition: split_when.hpp:42