14 #ifndef RANGES_V3_VIEW_MOVE_HPP
15 #define RANGES_V3_VIEW_MOVE_HPP
17 #include <type_traits>
26 #include <range/v3/utility/static_const.hpp>
31 #include <range/v3/detail/prologue.hpp>
37 template<
typename Rng>
47 requires Const AND CPP_NOT(Other))
48 constexpr adaptor(adaptor<Other>)
50 using CRng = meta::const_if_c<Const, Rng>;
51 using value_type = range_value_t<Rng>;
54 return ranges::iter_move(it);
58 return ranges::iter_move(it);
61 adaptor<simple_view<Rng>()> begin_adaptor()
65 adaptor<simple_view<Rng>()> end_adaptor()
70 auto begin_adaptor()
const
71 -> CPP_ret(adaptor<true>)(
72 requires input_range<Rng const>)
77 auto end_adaptor()
const
78 -> CPP_ret(adaptor<true>)(
79 requires input_range<Rng const>)
87 : move_view::view_adaptor{std::move(rng)}
90 auto CPP_fun(size)()(
const
91 requires sized_range<Rng const>)
97 requires sized_range<Rng>)
103 template<
typename Rng>
104 RANGES_INLINE_VAR constexpr
bool enable_borrowed_range<move_view<Rng>> =
105 enable_borrowed_range<Rng>;
107 #if RANGES_CXX_DEDUCTION_GUIDES >= RANGES_CXX_DEDUCTION_GUIDES_17
108 template<
typename Rng>
117 template(
typename Rng)(
118 requires viewable_range<Rng> AND input_range<Rng>)
132 #include <range/v3/detail/epilogue.hpp>
133 #include <range/v3/detail/satisfy_boost_range.hpp>
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
meta::size_t< L::size()> size
An integral constant wrapper that is the size of the meta::list L.
Definition: meta.hpp:1696
Definition: adaptor.hpp:110
Definition: adaptor.hpp:475