Iros
 
Loading...
Searching...
No Matches
uninitialized_copy_n.h
Go to the documentation of this file.
1#pragma once
2
7#include "di/util/addressof.h"
9
10namespace di::container {
11namespace detail {
16 constexpr auto operator()(It in, meta::IteratorSSizeType<It> n, Out out, OutSent out_last) const
18 for (; n > 0 && out != out_last; --n, ++in, ++out) {
19 util::construct_at(util::addressof(*out), *in);
20 }
21 return { util::move(in), util::move(out) };
22 }
23 };
24}
25
27}
28
29namespace di {
31}
Definition operations.h:11
Definition input_iterator.h:9
Definition uninit_forward_iterator.h:9
Definition uninit_sentinel_for.h:7
Definition sequence.h:13
Definition sequence.h:12
constexpr auto uninitialized_copy_n
Definition uninitialized_copy_n.h:26
decltype(container::iterator_ssize_type(types::in_place_type< meta::RemoveCVRef< T > >)) IteratorSSizeType
Definition iterator_ssize_type.h:8
decltype(*util::declval< T const & >()) IteratorReference
Definition iterator_reference.h:7
constexpr auto construct_at
Definition construct_at.h:27
Definition zstring_parser.h:9
Definition in_out_result.h:8
Definition uninitialized_copy_n.h:12