Iros
Loading...
Searching...
No Matches
contiguous_container.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/concepts/contiguous_iterator.h
"
4
#include "
di/container/concepts/random_access_container.h
"
5
#include "
di/container/interface/data.h
"
6
#include "
di/container/meta/container_reference.h
"
7
#include "
di/meta/core.h
"
8
#include "
di/meta/language.h
"
9
10
namespace
di::concepts
{
11
template
<
typename
T>
12
concept
ContiguousContainer
=
13
RandomAccessContainer<T>
&&
ContiguousIterator<meta::ContainerIterator<T>
> &&
requires
(T& value) {
14
{
container::data
(value) } ->
SameAs<meta::AddPointer<meta::ContainerReference<T>
>>;
15
};
16
}
di::concepts::ContiguousContainer
Definition
contiguous_container.h:12
di::concepts::ContiguousIterator
Definition
contiguous_iterator.h:9
di::concepts::RandomAccessContainer
Definition
random_access_container.h:8
di::concepts::SameAs
Definition
core.h:114
container_reference.h
contiguous_iterator.h
core.h
data.h
language.h
di::concepts
Definition
any_storable.h:9
di::container::data
constexpr auto data
Definition
data.h:51
random_access_container.h
libs
di
include
di
container
concepts
contiguous_container.h
Generated by
1.13.0