Loading...
Searching...
No Matches
mdspan.hh File Reference
`#include <array>`
`#include <span>`
`#include <type_traits>`
`#include <utility>`
`#include <dune/common/indices.hh>`
`#include <dune/common/std/default_accessor.hh>`
`#include <dune/common/std/extents.hh>`
`#include <dune/common/std/layout_right.hh>`
`#include <dune/common/std/no_unique_address.hh>`

Go to the source code of this file.

## Classes

class | Dune::Std::mdspan< Element, Extents, LayoutPolicy, AccessorPolicy >
| A multi-dimensional non-owning array view. More...

## Namespaces

namespace | Dune
| Dune namespace
namespace | Dune::Std
| Namespace for features backported from new C++ standards.

## Functions

template<class CArray, std::enable_if_t< std::is_array_v< CArray >, int > = 0, std::enable_if_t<(std::rank_v< CArray >==1), int > = 0>
| Dune::Std::mdspan (CArray &) -> mdspan< std::remove_all_extents_t< CArray >, Std::extents< std::size_t, std::extent_v< CArray, 0 > > >
template<class Pointer, std::enable_if_t< std::is_pointer_v< std::remove_reference_t< Pointer > >, int > = 0>
| Dune::Std::mdspan (Pointer &&) -> mdspan< std::remove_pointer_t< std::remove_reference_t< Pointer > >, Std::extents< std::size_t > >
template<class ElementType, class... II, std::enable_if_t<(... &&std::is_convertible_v< II, std::size_t >), int > = 0, std::enable_if_t<(sizeof...(II) > 0), int > = 0>
| Dune::Std::mdspan (ElementType *, II...) -> mdspan< ElementType, Std::dextents< std::size_t, sizeof...(II)> >
template<class ElementType, class SizeType, std::size_t N>
| Dune::Std::mdspan (ElementType *, std::span< SizeType, N >) -> mdspan< ElementType, Std::dextents< std::size_t, N > >
template<class ElementType, class SizeType, std::size_t N>
| Dune::Std::mdspan (ElementType *, const std::array< SizeType, N > &) -> mdspan< ElementType, Std::dextents< std::size_t, N > >
template<class ElementType, class IndexType, std::size_t... exts>
| Dune::Std::mdspan (ElementType *, const Std::extents< IndexType, exts... > &) -> mdspan< ElementType, Std::extents< IndexType, exts... > >
template<class ElementType, class Mapping, class Extents = typename Mapping::extents_type, class Layout = typename Mapping::layout_type>
| Dune::Std::mdspan (ElementType *, const Mapping &) -> mdspan< ElementType, Extents, Layout >
template<class Mapping, class Accessor, class DataHandle = typename Accessor::data_handle_type, class Element = typename Accessor::element_type, class Extents = typename Mapping::extents_type, class Layout = typename Mapping::layout_type>
| Dune::Std::mdspan (const DataHandle &, const Mapping &, const Accessor &) -> mdspan< Element, Extents, Layout, Accessor >