Dune Core Modules (unstable)
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 |
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
