Iros
Loading...
Searching...
No Matches
constant_vector.h
Go to the documentation of this file.
1
#pragma once
2
3
namespace
di::concepts::detail
{
4
template
<
typename
T>
5
concept
ConstantVector
=
requires
(T& lvalue, T
const
& clvalue) {
6
typename
T::Value;
7
typename
T::ConstValue;
8
lvalue.span();
9
clvalue.span();
10
};
11
}
12
13
namespace
di::meta::detail
{
14
template
<concepts::detail::ConstantVector T>
15
using
VectorValue
= T::Value;
16
17
template
<concepts::detail::ConstantVector T>
18
using
VectorConstValue
= T::ConstValue;
19
20
template
<concepts::detail::ConstantVector T>
21
using
VectorIterator
= T::Value*;
22
23
template
<concepts::detail::ConstantVector T>
24
using
VectorConstIterator
= T::ConstValue*;
25
}
di::concepts::detail::ConstantVector
Definition
constant_vector.h:5
di::concepts::detail
Definition
impl.h:7
di::meta::detail
Definition
const_sentinel.h:8
di::meta::detail::VectorIterator
T::Value * VectorIterator
Definition
constant_vector.h:21
di::meta::detail::VectorValue
T::Value VectorValue
Definition
constant_vector.h:15
di::meta::detail::VectorConstIterator
T::ConstValue * VectorConstIterator
Definition
constant_vector.h:24
di::meta::detail::VectorConstValue
T::ConstValue VectorConstValue
Definition
constant_vector.h:18
libs
di
include
di
container
vector
constant_vector.h
Generated by
1.13.0