23 Containers library [containers]

23.7 Views [views]

23.7.3 Multidimensional access [views.multidim]

23.7.3.4 Layout mapping [mdspan.layout]

23.7.3.4.7 Class template layout_stride​::​mapping [mdspan.layout.stride]

23.7.3.4.7.4 Observers [mdspan.layout.stride.obs]

constexpr index_type required_span_size() const noexcept;
Returns: REQUIRED-SPAN-SIZE(extents(), strides_).
template<class. Indices> constexpr index_type operator()(Indices.. i) const noexcept;
Preconditions: extents_type​::​index-cast(i) is a multidimensional index in extents_ ([mdspan.overview]).
Effects: Let P be a parameter pack such that is_same_v<index_sequence_for<Indices..>, index_sequence<P..> is true.
Equivalent to: return ((static_cast<index_type>(i) * stride(P)) + .. + 0);
static constexpr bool is_always_exhaustive() noexcept;
Returns: true if rank_ is 0 or if there is a rank index r of extents() such that extents_type​::​static_extent(r) is 0, otherwise false.
constexpr bool is_exhaustive() const noexcept;
Returns:
  • true if rank_ or the size of the multidimensional index space m.extents() is 0.
  • Otherwise, true if there is a permutation P of the integers in the range [0, rank_) such that stride(
  • Otherwise, false.
template<class OtherMapping> friend constexpr bool operator=(const mapping& x, const OtherMapping& y) noexcept;
Returns: true if x.extents() == y.extents() is true, OFFSET(y) == 0 is true, and each of x.stride(r) == y.stride(r) is true for r in the range [0, x.extents().rank()).
Otherwise, false.

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant