Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Types | Public Member Functions | Static Public Member Functions | Private Types | Static Private Member Functions | Private Attributes | List of all members
fub::extents< StaticExtents > Class Template Reference

An extents object defines a multidimensional index space which is the Cartesian product of integers extents [0..N0) * [0..N1) * ... More...

#include <mdspan.hpp>

Public Types

using index_type = std::ptrdiff_t
 

Public Member Functions

constexpr std::ptrdiff_t extent (size_t n) const noexcept
 Returns the n-th run-time extent. More...
 

Static Public Member Functions

static constexpr std::size_t rank () noexcept
 Returns sizeof...(StaticExtents) More...
 
static constexpr std::size_t rank_dynamic () noexcept
 Returns sizeof...(StaticExtents) More...
 
static constexpr std::ptrdiff_t static_extent (std::size_t n) noexcept
 Returns the n-th StaticExtent. More...
 

Private Types

using base_type = ExtentsStorage_< sizeof...(StaticExtents), count_dynamic_extents(StaticExtents...), StaticExtents... >
 

Static Private Member Functions

static constexpr std::size_t find_dynamic_extent_index (std::size_t n) noexcept
 

Private Attributes

std::array< std::ptrdiff_t, RankDynamic > m_dynamic_extents
 

Detailed Description

template<std::ptrdiff_t... StaticExtents>
class fub::extents< StaticExtents >

An extents object defines a multidimensional index space which is the Cartesian product of integers extents [0..N0) * [0..N1) * ...

Member Typedef Documentation

◆ base_type

template<std::ptrdiff_t... StaticExtents>
using fub::extents< StaticExtents >::base_type = ExtentsStorage_<sizeof...(StaticExtents), count_dynamic_extents(StaticExtents...), StaticExtents...>
private

◆ index_type

template<std::ptrdiff_t... StaticExtents>
using fub::extents< StaticExtents >::index_type = std::ptrdiff_t

Member Function Documentation

◆ extent()

template<std::ptrdiff_t... StaticExtents>
constexpr std::ptrdiff_t fub::extents< StaticExtents >::extent ( size_t  n) const
inlineconstexprnoexcept

Returns the n-th run-time extent.

◆ find_dynamic_extent_index()

static constexpr std::size_t fub::ExtentsStorage_< Rank, RankDynamic, StaticExtents >::find_dynamic_extent_index ( std::size_t  n)
inlinestaticconstexprprivatenoexceptinherited

◆ rank()

template<std::ptrdiff_t... StaticExtents>
static constexpr std::size_t fub::extents< StaticExtents >::rank ( )
inlinestaticconstexprnoexcept

Returns sizeof...(StaticExtents)

◆ rank_dynamic()

template<std::ptrdiff_t... StaticExtents>
static constexpr std::size_t fub::extents< StaticExtents >::rank_dynamic ( )
inlinestaticconstexprnoexcept

Returns sizeof...(StaticExtents)

◆ static_extent()

template<std::ptrdiff_t... StaticExtents>
static constexpr std::ptrdiff_t fub::extents< StaticExtents >::static_extent ( std::size_t  n)
inlinestaticconstexprnoexcept

Returns the n-th StaticExtent.

Member Data Documentation

◆ m_dynamic_extents

std::array<std::ptrdiff_t, RankDynamic> fub::ExtentsStorage_< Rank, RankDynamic, StaticExtents >::m_dynamic_extents
privateinherited

The documentation for this class was generated from the following file: