template<std::ptrdiff_t... StaticExtents>
class gmx::extents< StaticExtents >
Multidimensional extents with static and dynamic dimensions.
Describes a multidimensional index space of rank R. This is equivalent to the Cartesian product space of integer intervals [0, N_0) x [0, N_1) x ... x [0,N_{R-1} )
Confer to P0009r8 of the Library Evolution Working Group and mdspan.extents
- Template Parameters
-
StaticExtents | rank number of extents, where the dynamic_extent constant for static extent is used to signal a dynamic extent. |
|
constexpr | extents () noexcept |
| Trivial constructor.
|
|
constexpr | extents (extents &&) noexcept=default |
| Move constructor.
|
|
constexpr | extents (const extents &) noexcept=default |
| Copy constructor.
|
|
template<class... IndexType> |
constexpr | extents (std::ptrdiff_t dn, IndexType...DynamicExtents) noexcept |
| Construct with dynamic extents. More...
|
|
constexpr | extents (const std::array< std::ptrdiff_t, extents_analyse_t::rank_dynamic()> dynamic_extents) noexcept |
| Construct from array of dynamic extents. More...
|
|
template<std::ptrdiff_t... OtherStaticExtents> |
| extents (const extents< OtherStaticExtents...> &other) |
| Copy constructor.
|
|
extents & | operator= (extents &&) noexcept=default |
| Default move assignment.
|
|
extents & | operator= (const extents &) noexcept=default |
| Default copy assignment.
|
|
template<std::ptrdiff_t... OtherStaticExtents> |
extents & | operator= (const extents< OtherStaticExtents...> &other) |
| Copy assignment.
|
|
| ~extents ()=default |
| Default destructor.
|
|
constexpr index_type | extent (std::size_t k) const noexcept |
| The extent along a specific dimension. More...
|
|
constexpr auto | sliced_extents () const noexcept |
| Returns the extent with the first dimension sliced off.
|
|
template<std::ptrdiff_t... StaticExtents>
template<class... IndexType>
constexpr gmx::extents< StaticExtents >::extents |
( |
std::ptrdiff_t |
dn, |
|
|
IndexType... |
DynamicExtents |
|
) |
| |
|
inlinenoexcept |
Construct with dynamic extents.
Allows for extents(u,v,w..) syntax when setting dynamic extents
- Template Parameters
-
- Parameters
-
[in] | dn | first dynamic index |
[in] | DynamicExtents | parameter pack |