iris::build::Range Struct Reference
Doxygen 1.15.0 generates this reference during each site build from the public headers. The C++ guide shows the API in use.
An integer range type, given with designated initializers: {.from = 1, .to = n} is 1..n, {.from = 0, .below = n} is 0..<n, and either bound may be left out. More...
#include <iris/build.hpp>
Public Member Functions | |
| template<Operand E> | |
| TypeOf< std::int64_t, 1 > | dim (E &&extent) const |
| This type with a dimension of size elements. | |
| template<Operand E> | |
| TypeOf< std::int64_t, 0 > | layout (E &&value) const |
| This type read with the layout layout. | |
| template<Operand E> | |
| TypeOf< std::int64_t, 0 > | offset (E &&value) const |
| This type with offset added to every value read. | |
| template<class E> requires std::same_as<std::remove_cvref_t<E>, Eol> || Operand<E> | |
| ListReading< std::int64_t > | until (E &&end) const |
| A list of this type that end ends: eol, or a sentinel value. | |
Public Attributes | |
| std::optional< Bound > | from = std::nullopt |
| The lower bound. | |
| std::optional< Bound > | to = std::nullopt |
| The inclusive upper bound. | |
| std::optional< Bound > | below = std::nullopt |
| The exclusive upper bound. | |
Detailed Description
An integer range type, given with designated initializers: {.from = 1, .to = n} is 1..n, {.from = 0, .below = n} is 0..<n, and either bound may be left out.
Member Function Documentation
dim()
template<Operand E>
|
nodiscard |
This type with a dimension of size elements.
layout()
template<Operand E>
|
nodiscard |
This type read with the layout layout.
offset()
template<Operand E>
|
nodiscard |
This type with offset added to every value read.
until()
template<class E>
requires std::same_as<std::remove_cvref_t<E>, Eol> || Operand<E>
requires std::same_as<std::remove_cvref_t<E>, Eol> || Operand<E>
|
nodiscard |
A list of this type that end ends: eol, or a sentinel value.
Member Data Documentation
below
| std::optional<Bound> iris::build::Range::below = std::nullopt |
The exclusive upper bound.
from
| std::optional<Bound> iris::build::Range::from = std::nullopt |
The lower bound.
to
| std::optional<Bound> iris::build::Range::to = std::nullopt |
The inclusive upper bound.