Finite Volume Solver
prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
|
#include <mdspan.hpp>
Public Types | |
using | extents_type = Extents |
using | layout_type = LayoutPolicy |
using | accessor_type = AccessorPolicy |
using | mapping_type = typename layout_type::template mapping< extents_type > |
using | element_type = typename accessor_type::element_type |
using | value_type = std::remove_cv_t< element_type > |
using | index_type = std::ptrdiff_t |
using | difference_type = std::ptrdiff_t |
using | pointer = typename accessor_type::pointer |
using | reference = typename accessor_type::reference |
Public Member Functions | |
constexpr | basic_mdspan () noexcept=default |
constexpr | basic_mdspan (const basic_mdspan &) noexcept=default |
constexpr | basic_mdspan (basic_mdspan &&) noexcept=default |
template<class... IndexType, typename = std::enable_if_t<conjunction< std::is_convertible<IndexType, std::ptrdiff_t>...>::value>, typename = std::enable_if_t<sizeof...(IndexType) == Extents::rank_dynamic()>> | |
constexpr | basic_mdspan (pointer p, IndexType... dynamic_extents) |
template<class IndexType , std::size_t N> | |
constexpr | basic_mdspan (pointer p, const std::array< IndexType, N > &dynamic_extents) |
constexpr | basic_mdspan (pointer p, const mapping_type &m) |
constexpr | basic_mdspan (pointer p, const mapping_type &m, const accessor_type &a) |
template<class OtherElementType , class OtherExtents , class OtherLayoutPolicy , class OtherAccessorPolicy > | |
constexpr | basic_mdspan (const basic_mdspan< OtherElementType, OtherExtents, OtherLayoutPolicy, OtherAccessorPolicy > &other) |
~basic_mdspan ()=default | |
constexpr basic_mdspan & | operator= (const basic_mdspan &) noexcept=default |
constexpr basic_mdspan & | operator= (basic_mdspan &&) noexcept=default |
template<class OtherElementType , class OtherExtents , class OtherLayoutPolicy , class OtherAccessorPolicy > | |
constexpr basic_mdspan & | operator= (const basic_mdspan< OtherElementType, OtherExtents, OtherLayoutPolicy, OtherAccessorPolicy > &other) noexcept |
constexpr reference | operator[] (index_type i) const noexcept |
template<class... IndexType> | |
constexpr reference | operator() (IndexType... indices) const noexcept |
template<class IndexType , size_t N> | |
constexpr reference | operator() (const std::array< IndexType, N > &indices) const noexcept |
constexpr Extents | extents () const noexcept |
constexpr index_type | extent (std::size_t rank) const noexcept |
constexpr index_type | size () const noexcept |
constexpr index_type | unique_size () const noexcept |
constexpr span< element_type > | get_span () const noexcept |
constexpr pointer | data () const noexcept |
constexpr mapping_type | mapping () const noexcept |
constexpr accessor_type | accessor () const noexcept |
constexpr bool | is_unique () const noexcept |
constexpr bool | is_contiguous () const noexcept |
constexpr bool | is_strided () const noexcept |
constexpr index_type | stride (std::size_t r) const |
Static Public Member Functions | |
static constexpr int | rank () noexcept |
static constexpr int | rank_dynamic () noexcept |
static constexpr index_type | static_extent (std::size_t rank) noexcept |
static constexpr bool | is_always_unique () noexcept |
static constexpr bool | is_always_contiguous () noexcept |
static constexpr bool | is_always_strided () noexcept |
Private Types | |
using | offset_policy = accessor_basic |
Private Member Functions | |
constexpr pointer | offset (pointer p, ptrdiff_t i) const noexcept |
constexpr reference | access (pointer p, ptrdiff_t i) const noexcept |
constexpr pointer | decay (pointer p) const noexcept |
Private Attributes | |
pointer | ptr_ |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::accessor_type = AccessorPolicy |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::difference_type = std::ptrdiff_t |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::element_type = typename accessor_type::element_type |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::extents_type = Extents |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::index_type = std::ptrdiff_t |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::layout_type = LayoutPolicy |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::mapping_type = typename layout_type::template mapping<extents_type> |
|
inherited |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::pointer = typename accessor_type::pointer |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::reference = typename accessor_type::reference |
using fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >::value_type = std::remove_cv_t<element_type> |
|
constexprdefaultnoexcept |
|
constexprdefaultnoexcept |
|
constexprdefaultnoexcept |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
default |
|
inlineconstexprnoexceptinherited |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexceptinherited |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexceptinherited |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
constexprdefaultnoexcept |
|
constexprdefaultnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinestaticconstexprnoexcept |
|
inlineconstexpr |
|
inlineconstexprnoexcept |
|
private |