This mapping does row first indexing (as in Fortran).
More...
#include <mdspan.hpp>
|
template<std::size_t... Is, typename... IndexType> |
constexpr std::ptrdiff_t | DoMapping_ (index_sequence< Is... >, IndexType... indices) const noexcept |
|
|
constexpr const Extents & | extents () const noexcept |
|
constexpr std::ptrdiff_t | required_span_size () const noexcept |
|
template<typename... IndexType, typename = std::enable_if_t<conjunction< std::is_convertible<IndexType, std::ptrdiff_t>...>::value>, typename = std::enable_if_t<(sizeof...(IndexType) == Extents::rank())>> |
constexpr std::ptrdiff_t | operator() (IndexType... indices) const noexcept |
|
constexpr std::ptrdiff_t | stride (std::size_t r) const noexcept |
|
constexpr bool | is_unique () const noexcept |
|
constexpr bool | is_contiguous () const noexcept |
|
constexpr bool | is_strided () const noexcept |
|
template<class OtherExtents > |
constexpr bool | operator== (const mapping< OtherExtents > &other) const noexcept |
|
template<class OtherExtents > |
constexpr bool | operator!= (const mapping< OtherExtents > &other) const noexcept |
|
static constexpr bool | is_always_unique () noexcept |
|
static constexpr bool | is_always_contiguous () noexcept |
|
static constexpr bool | is_always_strided () noexcept |
|
template<typename Extents>
class fub::layout_left::mapping< Extents >
This mapping does row first indexing (as in Fortran).
It holds for all valid i
and j
the equation
constexpr mapping()=default
Implicit Conversion from Extents.
◆ mapping() [1/4]
template<typename Extents >
Implicit Conversion from Extents.
- Exceptions
-
- Postcondition
- extents() == extents.
◆ mapping() [2/4]
template<typename Extents >
Implicit Conversion from Extents.
- Exceptions
-
- Postcondition
- extents() == extents.
◆ mapping() [3/4]
template<typename Extents >
Implicit Conversion from Extents.
- Exceptions
-
- Postcondition
- extents() == extents.
◆ mapping() [4/4]
template<typename Extents >
Implicit Conversion from Extents.
- Exceptions
-
- Postcondition
- extents() == extents.
◆ DoMapping_()
template<typename Extents >
template<std::size_t... Is, typename... IndexType>
|
inlineconstexprprivatenoexcept |
◆ extents()
template<typename Extents >
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
constexpr std::ptrdiff_t stride(std::size_t r) const noexcept
Definition: mdspan.hpp:354
- Exceptions
-
◆ is_always_contiguous()
template<typename Extents >
|
inlinestaticconstexprnoexcept |
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ is_always_strided()
template<typename Extents >
|
inlinestaticconstexprnoexcept |
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ is_always_unique()
template<typename Extents >
|
inlinestaticconstexprnoexcept |
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ is_contiguous()
template<typename Extents >
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ is_strided()
template<typename Extents >
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ is_unique()
template<typename Extents >
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ operator!=()
template<typename Extents >
template<class OtherExtents >
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ operator()()
template<typename Extents >
template<typename... IndexType, typename = std::enable_if_t<conjunction< std::is_convertible<IndexType, std::ptrdiff_t>...>::value>, typename = std::enable_if_t<(sizeof...(IndexType) == Extents::rank())>>
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ operator=() [1/2]
template<typename Extents >
Implicit Conversion from Extents.
- Exceptions
-
- Postcondition
- extents() == extents.
◆ operator=() [2/2]
template<typename Extents >
Implicit Conversion from Extents.
- Exceptions
-
- Postcondition
- extents() == extents.
◆ operator==()
template<typename Extents >
template<class OtherExtents >
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ required_span_size()
template<typename Extents >
- Returns
- Returns the codomain index for specified multi dimensional index coordinates.
\effect Equivalent to offset in
index_type offset = 0;
for(size_t k = 0; k < Extents::rank(); ++k) {
}
- Exceptions
-
◆ stride()
template<typename Extents >
- Returns
- Returns the stride value in a specified dimension r.
- Exceptions
-
The documentation for this class was generated from the following file: