static constexpr size_t static-padding-stride = see below;
index_type stride-1 = static-padding-stride;
constexpr mapping(const extents_type& ext);
template<class OtherIndexType>
constexpr mapping(const extents_type& ext, OtherIndexType padding);
template<class OtherExtents>
constexpr explicit(!is_convertible_v<OtherExtents, extents_type>)
mapping(const layout_left::mapping<OtherExtents>& other);
template<class OtherExtents>
constexpr explicit(see below)
mapping(const layout_stride::mapping<OtherExtents>& other);
template<class LayoutLeftPaddedMapping>
constexpr explicit(see below)
mapping(const LayoutLeftPaddedMapping& other);
template<class LayoutRightPaddedMapping>
constexpr explicit(see below)
mapping(const LayoutRightPaddedMapping& other) noexcept;
constexpr array<index_type, rank_> strides() const noexcept;
constexpr index_type required_span_size() const noexcept;
template<class... Indices>
constexpr index_type operator()(Indices... idxs) const noexcept;
static constexpr bool is_always_exhaustive() noexcept;
constexpr bool is_exhaustive() const noexcept;
constexpr index_type stride(rank_type r) const noexcept;
template<class LayoutLeftPaddedMapping>
friend constexpr bool operator==(const mapping& x, const LayoutLeftPaddedMapping& y) noexcept;