Loading [MathJax]/extensions/tex2jax.js
Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
fub::PatchDataView< T, R, Layout > Struct Template Reference

#include <PatchDataView.hpp>

Public Member Functions

const mdspan< T, sRank, Layout > & MdSpan () const noexcept
 
const std::array< std::ptrdiff_t, sRank > & Origin () const noexcept
 
dynamic_extents< sRankExtents () const noexcept
 
Layout::template mapping< dynamic_extents< sRank > > Mapping () const noexcept
 
span< T > Span () const noexcept
 
std::ptrdiff_t Stride (std::size_t n) const
 
std::ptrdiff_t Extent (std::size_t n) const
 
IndexBox< R > Box () const noexcept
 
PatchDataView< T, R, layout_strideSubview (const IndexBox< R > &box) const
 
template<typename... IndexType, typename = std::enable_if_t<conjunction< std::is_convertible<IndexType, std::ptrdiff_t>...>::value>>
auto & operator() (IndexType... indices) const
 
template<typename IndexType , typename = std::enable_if_t< std::is_convertible_v<IndexType, std::ptrdiff_t>>>
auto & operator() (const std::array< IndexType, sRank > &indices) const
 

Static Public Member Functions

static constexpr int Rank () noexcept
 
static constexpr int rank () noexcept
 

Public Attributes

mdspan< T, sRank, Layout > mdspan_
 
std::array< std::ptrdiff_t, sRankorigin_
 

Static Public Attributes

static constexpr std::size_t sRank
 

Member Function Documentation

◆ Box()

template<typename T , int R, typename Layout >
IndexBox<R> fub::PatchDataView< T, R, Layout >::Box ( ) const
inlinenoexcept

◆ Extent()

template<typename T , int R, typename Layout >
std::ptrdiff_t fub::PatchDataView< T, R, Layout >::Extent ( std::size_t  n) const
inline

◆ Extents()

template<typename T , int R, typename Layout >
dynamic_extents<sRank> fub::PatchDataView< T, R, Layout >::Extents ( ) const
inlinenoexcept

◆ Mapping()

template<typename T , int R, typename Layout >
Layout::template mapping<dynamic_extents<sRank> > fub::PatchDataView< T, R, Layout >::Mapping ( ) const
inlinenoexcept

◆ MdSpan()

template<typename T , int R, typename Layout >
const mdspan<T, sRank, Layout>& fub::PatchDataView< T, R, Layout >::MdSpan ( ) const
inlinenoexcept

◆ operator()() [1/2]

template<typename T , int R, typename Layout >
template<typename IndexType , typename = std::enable_if_t< std::is_convertible_v<IndexType, std::ptrdiff_t>>>
auto& fub::PatchDataView< T, R, Layout >::operator() ( const std::array< IndexType, sRank > &  indices) const
inline

◆ operator()() [2/2]

template<typename T , int R, typename Layout >
template<typename... IndexType, typename = std::enable_if_t<conjunction< std::is_convertible<IndexType, std::ptrdiff_t>...>::value>>
auto& fub::PatchDataView< T, R, Layout >::operator() ( IndexType...  indices) const
inline

◆ Origin()

template<typename T , int R, typename Layout >
const std::array<std::ptrdiff_t, sRank>& fub::PatchDataView< T, R, Layout >::Origin ( ) const
inlinenoexcept

◆ Rank()

template<typename T , int R, typename Layout >
static constexpr int fub::PatchDataView< T, R, Layout >::Rank ( )
inlinestaticconstexprnoexcept

◆ rank()

template<typename T , int R, typename Layout >
static constexpr int fub::PatchDataView< T, R, Layout >::rank ( )
inlinestaticconstexprnoexcept

◆ Span()

template<typename T , int R, typename Layout >
span<T> fub::PatchDataView< T, R, Layout >::Span ( ) const
inlinenoexcept

◆ Stride()

template<typename T , int R, typename Layout >
std::ptrdiff_t fub::PatchDataView< T, R, Layout >::Stride ( std::size_t  n) const
inline

◆ Subview()

template<typename T , int R, typename Layout >
PatchDataView<T, R, layout_stride> fub::PatchDataView< T, R, Layout >::Subview ( const IndexBox< R > &  box) const
inline

Member Data Documentation

◆ mdspan_

mdspan<T, sRank, Layout> fub::PatchDataViewBase< T, Rank, Layout >::mdspan_
inherited

◆ origin_

std::array<std::ptrdiff_t, sRank> fub::PatchDataViewBase< T, Rank, Layout >::origin_
inherited

◆ sRank

template<typename T , int R, typename Layout >
constexpr std::size_t fub::PatchDataView< T, R, Layout >::sRank
staticconstexpr

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