di 0.1.0
Loading...
Searching...
No Matches
extents_forward_declaration.h
Go to the documentation of this file.
1#pragma once
2
4#include "di/meta/language.h"
5#include "di/types/size_t.h"
7
8namespace di::vocab {
9template<concepts::Integer T, types::size_t... extents>
10requires((extents == dynamic_extent || extents <= math::to_unsigned(math::NumericLimits<T>::max)) && ...)
11class Extents;
12
13struct LayoutLeft {
14 template<typename Extents>
15 class Mapping;
16};
17
19 template<typename Extents>
20 class Mapping;
21};
22
24 template<typename Extents>
25 class Mapping;
26};
27}
28
29namespace di {
30using vocab::Extents;
31using vocab::LayoutLeft;
32using vocab::LayoutRight;
33using vocab::LayoutStride;
34}
Definition layout_left.h:10
Definition layout_right.h:10
Definition layout_stride.h:31
Definition extents.h:13
constexpr auto to_unsigned
Definition to_unsigned.h:16
std::size_t size_t
Definition size_t.h:12
Definition lazy.h:165
Extents(Integrals...) -> Extents< size_t,(Integrals {}, dynamic_extent)... >
constexpr auto dynamic_extent
Definition span_forward_declaration.h:7
Definition any_storable.h:9
static constexpr T max
Definition numeric_limits.h:11
Definition extents_forward_declaration.h:13
Definition extents_forward_declaration.h:18
Definition extents_forward_declaration.h:23