Iros
 
Loading...
Searching...
No Matches
uninitialized_fill.h
Go to the documentation of this file.
1#pragma once
2
6#include "di/util/addressof.h"
8
9namespace di::container {
10namespace detail {
12 template<concepts::UninitForwardIterator Out, concepts::UninitSentinelFor<Out> OutSent, typename T>
14 constexpr auto operator()(Out out, OutSent out_last, T const& value) const -> Out {
15 for (; out != out_last; ++out) {
16 util::construct_at(util::addressof(*out), value);
17 }
18 return out;
19 }
20
21 template<concepts::UninitForwardContainer Out, typename T>
23 constexpr auto operator()(Out&& out, T const& value) const -> meta::BorrowedIterator<Out> {
24 return (*this)(container::begin(out), container::end(out), value);
25 }
26 };
27}
28
30}
31
32namespace di {
34}
Definition operations.h:11
Definition sequence.h:13
Definition sequence.h:12
constexpr auto uninitialized_fill
Definition uninitialized_fill.h:29
constexpr auto end
Definition end.h:47
constexpr auto begin
Definition begin.h:44
Conditional< concepts::BorrowedContainer< Con >, ContainerIterator< Con >, container::Dangling > BorrowedIterator
Definition borrowed_iterator.h:11
constexpr auto construct_at
Definition construct_at.h:27
Definition zstring_parser.h:9
Definition uninitialized_fill.h:11