#include <di/vocab/md/layout_right.h>
Public Types | |
using | ExtentsType = Extents |
using | SizeType = typename ExtentsType::SizeType |
using | RankType = typename ExtentsType::RankType |
using | LayoutType = LayoutRight |
Public Member Functions | |
Mapping ()=default | |
Mapping (Mapping const &)=default | |
Mapping (Mapping &&)=default | |
constexpr | Mapping (ExtentsType const &extents) |
template<concepts::Extents OtherExtents> requires (concepts::ConstructibleFrom<ExtentsType, OtherExtents>) | |
constexpr | explicit (!concepts::ConvertibleTo< OtherExtents, ExtentsType >) Mapping(Mapping< OtherExtents > const &extents) |
template<concepts::Extents OtherExtents> requires (ExtentsType::rank() <= 1 && concepts::ConstructibleFrom<ExtentsType, OtherExtents>) | |
constexpr | explicit (!concepts::ConvertibleTo< OtherExtents, ExtentsType >) Mapping(LayoutLeft |
template<concepts::Extents OtherExtents> requires (concepts::ConstructibleFrom<ExtentsType, OtherExtents>) | |
constexpr | explicit (ExtentsType::rank() > 0) Mapping(LayoutStride |
auto | operator= (Mapping const &) -> Mapping &=default |
constexpr auto | extents () const -> ExtentsType const & |
constexpr auto | required_span_size () const -> SizeType |
template<typename... Indices> requires (sizeof...(Indices) == ExtentsType::rank() && (concepts::ConvertibleTo<Indices, SizeType> && ...)) | |
constexpr auto | operator() (Indices... indices) const -> SizeType |
constexpr auto | stride (RankType i) const -> SizeType |
Static Public Member Functions | |
static constexpr auto | is_always_unique () -> bool |
static constexpr auto | is_always_exhaustive () -> bool |
static constexpr auto | is_always_strided () -> bool |
static constexpr auto | is_unique () -> bool |
static constexpr auto | is_exhaustive () -> bool |
static constexpr auto | is_strided () -> bool |
Friends | |
template<typename OtherExtents> requires (Extents::rank() == OtherExtents::rank()) | |
constexpr friend auto | operator== (Mapping const &a, Mapping< OtherExtents > const &b) -> bool |
using di::vocab::LayoutRight::Mapping< Extents >::ExtentsType = Extents |
using di::vocab::LayoutRight::Mapping< Extents >::LayoutType = LayoutRight |
using di::vocab::LayoutRight::Mapping< Extents >::RankType = typename ExtentsType::RankType |
using di::vocab::LayoutRight::Mapping< Extents >::SizeType = typename ExtentsType::SizeType |
|
default |
|
default |
|
default |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlineconstexpr |
|
default |
|
inlineconstexpr |
|
inlineconstexpr |
|
friend |