|
constexpr | mapping () noexcept |
| The default construction initializes the strides from layout_right.
|
|
constexpr | mapping (const mapping &) noexcept=default |
| Copy constructor for the mapping.
|
|
template<class OtherIndexType , std::enable_if_t< std::is_convertible_v< const OtherIndexType &, index_type >, int > = 0, std::enable_if_t< std::is_nothrow_constructible_v< index_type, const OtherIndexType & >, int > = 0> |
constexpr | mapping (const extents_type &e, const std::array< OtherIndexType, rank_ > &s) noexcept |
| Construct the mapping from given extents and strides.
|
|
template<class OtherIndexType , std::enable_if_t< std::is_convertible_v< const OtherIndexType &, index_type >, int > = 0, std::enable_if_t< std::is_nothrow_constructible_v< index_type, const OtherIndexType & >, int > = 0> |
constexpr | mapping (const extents_type &e, const span< OtherIndexType, rank_ > &s) noexcept |
| Construct the mapping from given extents and strides.
|
|
template<class M , std::enable_if_t<(M::extents_type::rank()==extents_type::rank()), int > = 0, std::enable_if_t<(M::is_always_unique()), int > = 0, std::enable_if_t<(M::is_always_strided()), int > = 0, decltype(std::declval< M >().extents(), bool{}) = true, decltype(std::declval< M >().stride(std::declval< rank_type >()), bool{}) = true> |
constexpr | mapping (const M &m) noexcept |
| Construct the mapping from another mapping with different extents and different strides.
|
|
constexpr mapping & | operator= (const mapping &) noexcept=default |
| Copy-assignment for the mapping.
|
|
constexpr const extents_type & | extents () const noexcept |
|
constexpr index_type | required_span_size () const noexcept |
| Return the sum 1 + (E(0)-1)*S(0) + (E(1)-1)*S(1) + ...
|
|
template<class... Indices, std::enable_if_t<(sizeof...(Indices)==rank_), int > = 0, std::enable_if_t<(std::is_convertible_v< Indices, index_type > &&...), int > = 0, std::enable_if_t<(std::is_nothrow_constructible_v< index_type, Indices > &&...), int > = 0> |
constexpr index_type | operator() (Indices... ii) const noexcept |
| Compute the offset by folding with index-array with the strides array.
|
|
constexpr index_type | operator() () const noexcept |
| The default offset for rank-0 tensors is 0.
|
|
constexpr bool | is_exhaustive () const noexcept |
|
constexpr const strides_type & | strides () const noexcept |
| Get the array of all strides.
|
|
template<class E = extents_type, std::enable_if_t<(E::rank() > 0), int > = 0> |
constexpr index_type | stride (rank_type i) const noexcept |
| Get the single stride i
|
|
template<class Extents>
class Dune::Std::layout_stride::mapping< Extents >
A layout mapping where the strides are user-defined.