14 #ifndef RANGES_V3_ACTION_JOIN_HPP
15 #define RANGES_V3_ACTION_JOIN_HPP
28 #include <range/v3/utility/static_const.hpp>
30 #include <range/v3/detail/prologue.hpp>
38 template<
typename Rng>
39 using join_action_value_t_ =
42 std::vector<range_value_t<range_value_t<Rng>>>>;
46 template(
typename Rng)(
47 requires input_range<Rng> AND
input_range<range_value_t<Rng>> AND
48 semiregular<join_action_value_t_<Rng>>)
49 join_action_value_t_<Rng> operator()(Rng && rng)
const
51 join_action_value_t_<Rng> ret;
52 auto last = ranges::end(rng);
53 for(
auto it = begin(rng); it != last; ++it)
66 #include <range/v3/detail/epilogue.hpp>
CPP_concept input_range
\concept input_range
Definition: concepts.hpp:103
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
CPP_concept container
\concept container
Definition: concepts.hpp:79
Definition: action.hpp:141