DUNE PDELab (git)
Dune::Std::extents< IndexType, exts > Class Template Reference
Multidimensional index space with dynamic and static extents. More...
#include <dune/common/std/extents.hh>
Public Member Functions | |
extents constructors | |
constexpr | extents () noexcept=default |
The default constructor requires that all exts are not Std::dynamic_extent . | |
template<class... IndexTypes, std::enable_if_t<(... &&std::is_convertible_v< IndexTypes, index_type >), int > = 0, std::enable_if_t<(sizeof...(IndexTypes)==rank()||sizeof...(IndexTypes)==rank_dynamic()), int > = 0, std::enable_if_t<(... &&std::is_nothrow_constructible_v< index_type, IndexTypes >), int > = 0> | |
constexpr | extents (IndexTypes... e) noexcept |
Set all extents by the given integral sequence [[pre: all static extents correspond to the given value e]]. | |
template<class I , std::size_t N, std::enable_if_t< std::is_convertible_v< I, index_type >, int > = 0, std::enable_if_t<(N==rank()||N==rank_dynamic()), int > = 0> | |
constexpr | extents (const std::array< I, N > &e) noexcept |
Set all dynamic extents by the given integral array [[pre: all static extents correspond to the given values in e]]. | |
template<class I , std::size_t N, std::enable_if_t< std::is_convertible_v< I, index_type >, int > = 0, std::enable_if_t<(N==rank()||N==rank_dynamic()), int > = 0, std::enable_if_t< std::is_nothrow_constructible_v< index_type, const I & >, int > = 0> | |
constexpr | extents (Std::span< I, N > e) noexcept |
Set all dynamic extents by the given integral array [[pre: all static extents correspond to the given values in e]]. | |
template<class I , std::size_t... e, std::enable_if_t<(sizeof...(e)==rank()), int > = 0, std::enable_if_t<((e==Std::dynamic_extent||exts==Std::dynamic_extent||e==exts) &&...), int > = 0> | |
constexpr | extents (const extents< I, e... > &other) noexcept |
Friends | |
template<class OtherIndexType , std::size_t... otherExts> | |
constexpr bool | operator== (const extents &a, const extents< OtherIndexType, otherExts... > &b) noexcept |
Compare two extents by their rank and all individual extents. | |
Observers | |
[mdspan.extents.obs], observers of the multidimensional index space | |
static constexpr rank_type | rank () noexcept |
The total number of dimensions. | |
static constexpr rank_type | rank_dynamic () noexcept |
The number of dimensions with dynamic extent. | |
static constexpr std::size_t | static_extent (rank_type r) noexcept |
Return the static extent of dimension r or Std::dynamic_extent | |
constexpr index_type | extent (rank_type r) const noexcept |
Return the extent of dimension i | |
Detailed Description
template<class IndexType, std::size_t... exts>
class Dune::Std::extents< IndexType, exts >
class Dune::Std::extents< IndexType, exts >
Multidimensional index space with dynamic and static extents.
This class template represents a multidimensional index space of rank equal to sizeof...(exts)
. Each extent might be specified as a template parameter or as a dynamic parameter in the constructor.
- Template Parameters
-
IndexType An integral type other than bool
exts... Each element of exts is either Std::dynamic_extent
or a representable value of typeIndexType
.
The documentation for this class was generated from the following file:
- dune/common/std/extents.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 24, 23:30, 2024)