Thorin 1.9.0
The Higher ORder INtermediate representation
|
This is a thin wrapper for std::span<T, N>
with the following additional features:
More...
#include <thorin/util/span.h>
Public Types | |
using | Base = std::span< T, N > |
Public Member Functions | |
Constructors | |
explicit (N !=std::dynamic_extent) const expr Span(std | |
constexpr | Span (std::span< T, N > span) noexcept |
template<Vectorlike Vec> requires (std::is_same_v<typename Vec::value_type, T>) | |
explicit (N !=std::dynamic_extent) const expr Span(Vec &vec) | |
template<Vectorlike Vec> requires (std::is_same_v<std::add_const_t<typename Vec::value_type>, std::add_const_t<T>>) | |
explicit (N !=std::dynamic_extent) const expr Span(const Vec &vec) | |
constexpr | Span (typename Base::pointer p) |
subspan | |
Wrappers for | |
constexpr Span< T, std::dynamic_extent > | subspan (size_t i, size_t n=std::dynamic_extent) const |
constexpr Span< T, std::dynamic_extent > | rsubspan (size_t i, size_t n=std::dynamic_extent) const |
rsubspan | |
Similar to Span::subspan but in reverse: E.g.: If | |
template<size_t i, size_t n = std::dynamic_extent> | |
constexpr Span< T, n !=std::dynamic_extent ? n :(N !=std::dynamic_extent ? N - i :std::dynamic_extent)> | subspan () const |
template<size_t i, size_t n = std::dynamic_extent> | |
constexpr Span< T, n !=std::dynamic_extent ? n :(N !=std::dynamic_extent ? N - i :std::dynamic_extent)> | rsubspan () const |
This is a thin wrapper for std::span<T, N>
with the following additional features:
std::initializer_list
(C++26 will get this ...)N != std::dynamic_extent:
using thorin::Span< T, N >::Base = std::span<T, N> |
|
inlineconstexprnoexcept |
|
inlineexplicitconstexpr |
|
inline |
|
inline |
|
inline |
|
inlineconstexpr |
Definition at line 57 of file span.h.
References thorin::Span< T, N >::subspan().
|
inlineconstexpr |
Definition at line 69 of file span.h.
Referenced by thorin::Span< T, N >::rsubspan().
|
inlineconstexpr |