11 struct RotateCopyFunction {
12 template<concepts::ForwardIterator It, concepts::SentinelFor<It> Sent, concepts::WeaklyIncrementable Out>
13 requires(concepts::IndirectlyCopyable<It, Out>)
14 constexpr auto operator()(It
first, It middle, Sent
last, Out output)
const -> InOutResult<It, Out> {
16 auto copy_right =
container::copy(util::move(first), util::move(middle), util::move(copy_left.out));
17 return { util::move(copy_left.in), util::move(copy_right.out) };
20 template<concepts::ForwardContainer Con, concepts::WeaklyIncrementable Out>
21 requires(concepts::IndirectlyCopyable<meta::ContainerIterator<Con>, Out>)
30constexpr inline auto rotate_copy = detail::RotateCopyFunction {};
constexpr auto last(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_last.h:13
constexpr auto first(concepts::detail::ConstantVector auto &vector, size_t count)
Definition vector_first.h:13
constexpr auto rotate_copy
Definition rotate_copy.h:30
constexpr auto end
Definition end.h:55
constexpr auto copy
Definition copy.h:30
constexpr auto begin
Definition begin.h:52
Definition any_storable.h:9