A list of tagged ranges (an N-dimensional box) More...
#include <tagged.hpp>
Public Member Functions | |
range_class (const range_class< TL > &... vl) noexcept | |
std::size_t | size () const |
Size (volume) of the range. | |
iterator_class< TL ... > | begin () const noexcept |
Lexicographical iterator through the N-dimensional box. | |
iterator_class< TL ... > | end () const noexcept |
Lexicographical iterator through the N-dimensional box. | |
template<typename T> requires impl::one_of< selector<T>, selector<TL> ...> && non_static_tag< pick<selector<T>, TL ...>> | |
auto && | get () const noexcept |
Retrieve individual range by selector tag. | |
template<std::size_t I> | |
auto && | get () const noexcept |
Retrieve individual range by index. | |
Static Public Member Functions | |
template<typename T> requires impl::one_of< selector<T>, selector<TL> ...> && static_tag< pick<selector<T>, TL ...>> | |
static constexpr auto | get () noexcept |
Retrieve individual range by selector tag. | |
A list of tagged ranges (an N-dimensional box)
Although the order of tags is technically preserved, most functions working with range lists ignore the order
...TL |
|
inlinenoexcept |
Lexicographical iterator through the N-dimensional box.
|
inlinenoexcept |
Lexicographical iterator through the N-dimensional box.
|
inlinenoexcept |
Retrieve individual range by selector tag.
T | Selector tag |
|
inlinenoexcept |
Retrieve individual range by index.
I | 0-based index of dimension |
|
inlinestaticconstexprnoexcept |
Retrieve individual range by selector tag.
T | Selector tag |
|
inline |
Size (volume) of the range.