Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Classes | Typedefs
Spans

Types and function which are about non-owning ranges of contiguous memory. More...

Classes

class  fub::extents< StaticExtents >
 An extents object defines a multidimensional index space which is the Cartesian product of integers extents [0..N0) * [0..N1) * ... More...
 
struct  fub::layout_left
 This layout creates mappings which do row first indexing (as in Fortran). More...
 
struct  fub::layout_right
 
struct  fub::layout_stride
 
struct  fub::accessor_basic< ElementType >
 
class  fub::basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy >
 
class  fub::span< T, N >
 A span is a view over a contiguous sequence of objects, the storage of which is owned by some other object. More...
 
class  fub::span< T, 0 >
 A span is a view over a contiguous sequence of objects, the storage of which is owned by some other object. More...
 
class  fub::span< T, dynamic_extent >
 span is a compact view over a contiguous range of data. More...
 

Typedefs

template<typename T , ptrdiff_t... Extents>
using fub::static_mdspan = basic_mdspan< T, extents< Extents... > >
 
template<typename T , std::size_t Rank, typename Layout = layout_left>
using fub::mdspan = basic_mdspan< T, dynamic_extents< Rank >, Layout >
 
template<typename T , typename E , typename A = accessor_basic<T>>
using fub::strided_mdspan = basic_mdspan< T, E, layout_stride, A >
 

Detailed Description

Types and function which are about non-owning ranges of contiguous memory.

Typedef Documentation

◆ mdspan

template<typename T , std::size_t Rank, typename Layout = layout_left>
using fub::mdspan = typedef basic_mdspan<T, dynamic_extents<Rank>, Layout>

#include <mdspan.hpp>

◆ static_mdspan

template<typename T , ptrdiff_t... Extents>
using fub::static_mdspan = typedef basic_mdspan<T, extents<Extents...> >

#include <mdspan.hpp>

◆ strided_mdspan

template<typename T , typename E , typename A = accessor_basic<T>>
using fub::strided_mdspan = typedef basic_mdspan<T, E, layout_stride, A>

#include <mdspan.hpp>