Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
uni20::StridedMdspanLike Concept Reference

An mdspan-like type whose mapping is always strided and exposes stride observers. More...

#include <concepts.hpp>

Concept definition

template<class MDS>
concept uni20::StridedMdspanLike = MdspanLike<MDS> && detail::span_type_t<MDS>::is_always_strided() &&
requires(detail::span_type_t<MDS> const& span, std::size_t axis) {
{
span.stride(axis)
} -> std::convertible_to<typename detail::span_type_t<MDS>::index_type>;
{
span.mapping().stride(axis)
} -> std::convertible_to<typename detail::span_type_t<MDS>::index_type>;
}
A readable type implementing the mdspan observers and multidimensional subscript contract.
Definition mdspan/concepts.hpp:291
An mdspan-like type whose mapping is always strided and exposes stride observers.
Definition mdspan/concepts.hpp:406
std::size_t span
Definition presentation.cpp:2017

Detailed Description

An mdspan-like type whose mapping is always strided and exposes stride observers.

Template Parameters
MDSThe mdspan-like type under test.