std::layout_stride::mapping<Extents>::mapping-traits
From cppreference.com
< cpp | container | mdspan | layout stride | mapping
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Containers library
(C++17)
(C++11)
(C++26)
(C++26)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++23)
(C++23)
(C++23)
(C++23)
(C++20)
(C++23)
Tables
std::mdspan
(C++26)
(C++26)
(C++26)
(C++26)
(C++26)
(C++26)
(C++26)
(C++26)
(C++26)
std::layout_stride::mapping
mapping::is_uniquemapping::is_exhaustivemapping::is_stridedmapping::is_always_uniquemapping::is_always_exhaustivemapping::is_always_strided
static constexpr bool is_unique() noexcept;
(1)
(since C++23)
constexpr bool is_exhaustive() const noexcept;
(2)
(since C++23)
static constexpr bool is_strided() noexcept;
(3)
(since C++23)
static constexpr bool is_always_unique() noexcept;
(4)
(since C++23)
static constexpr bool is_always_exhaustive() noexcept;
(5)
(since C++23)
static constexpr bool is_always_strided() noexcept;
(6)
(since C++23)
Every instance of every specialization of mapping
is unique and strided.
The mapping is exhaustive if one of the following conditions is true:
- rank_ is 0, or
- there exists a permutation p of the integers in the range
[
0,
rank_)
such that:
- stride(p[0]) equals 1 and
- stride(p[i]) equals stride(p[i - 1]) * extents().extent(p[i - 1])
- for all i in
[
1,
rank_)
, where p[i] is the ith element of p.
(rank_ is an exposition-only static member constant defined in std::layout_stride::mapping.)
See LayoutMapping for the semantics of these predicate mapping traits.
Contents
[edit] Parameters
(none)
[edit] Return value
1,3-4,6) true
2) true if the mapping is exhaustive (see above)
5) false
[edit] Example
This section is incomplete
Reason: no example
Reason: no example
[edit] See also
This section is incomplete