Iros
Loading...
Searching...
No Matches
container_iterator_reconstructible_container.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/interface/reconstruct.h
"
4
#include "
di/container/meta/container_iterator.h
"
5
#include "
di/container/meta/container_sentinel.h
"
6
#include "
di/meta/core.h
"
7
#include "
di/types/prelude.h
"
8
#include "
di/util/forward.h
"
9
10
namespace
di::concepts
{
11
template
<
typename
Con,
typename
Tag = meta::RemoveCVRef<Con>,
typename
It = meta::ContainerIterator<Con>,
12
typename
Sent = meta::ContainerSentinel<Con>>
13
concept
ContainerIteratorReconstructibleContainer
=
requires
(Con
container
, It iterator, Sent sentinel) {
14
container::reconstruct
(
in_place_type<Tag>
, util::forward<Con>(
container
), util::forward<It>(iterator),
15
util::forward<Sent>(sentinel));
16
};
17
}
di::concepts::ContainerIteratorReconstructibleContainer
Definition
container_iterator_reconstructible_container.h:13
container_iterator.h
container_sentinel.h
core.h
forward.h
prelude.h
di::concepts
Definition
any_storable.h:9
di::container
Definition
sequence.h:12
di::container::reconstruct
constexpr auto reconstruct
Definition
reconstruct.h:75
di::in_place_type
constexpr auto in_place_type
Definition
in_place_type.h:12
reconstruct.h
libs
di
include
di
container
concepts
container_iterator_reconstructible_container.h
Generated by
1.13.0