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