Finite Volume Solver
prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
|
#include "fub/core/assert.hpp"
#include "fub/core/dynamic_extent.hpp"
#include "fub/core/span.hpp"
#include "fub/core/type_traits.hpp"
#include <array>
#include <type_traits>
#include <boost/mp11/tuple.hpp>
Go to the source code of this file.
Namespaces | |
fub | |
The fub namespace. | |
Typedefs | |
template<typename T , ptrdiff_t... Extents> | |
using | fub::static_mdspan = basic_mdspan< T, extents< Extents... > > |
template<std::size_t Rank> | |
using | fub::dynamic_extents = typename dynamic_extents_< make_index_sequence< Rank > >::type |
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 > |
template<class ElementType , class Extents , class LayoutPolicy , class AccessorPolicy , class... SliceSpecifiers> | |
using | fub::mdspan_subspan_t = typename mdspan_subspan< ElementType, Extents, LayoutPolicy, AccessorPolicy, SliceSpecifiers... >::type |
Functions | |
template<typename... IndexType> | |
constexpr std::size_t | fub::count_dynamic_extents (IndexType... extent) noexcept |
template<std::ptrdiff_t... StaticExtentsL, std::ptrdiff_t... StaticExtentsR> | |
constexpr bool | fub::operator== (const extents< StaticExtentsL... > &lhs, const extents< StaticExtentsR... > &rhs) noexcept |
Returns: true if lhs.rank() == rhs.rank() and lhs.extents(r) == rhs.extents(r) for all r in the range [0, lhs.rank()) , or false otherwise. More... | |
template<std::ptrdiff_t... StaticExtentsL, std::ptrdiff_t... StaticExtentsR> | |
constexpr bool | fub::operator!= (const extents< StaticExtentsL... > &left, const extents< StaticExtentsR... > &right) noexcept |
template<std::ptrdiff_t... StaticExtents> | |
constexpr std::ptrdiff_t | fub::Size_ (const extents< StaticExtents... > e) noexcept |
constexpr std::ptrdiff_t | fub::SliceExtent_ (const std::pair< std::ptrdiff_t, std::ptrdiff_t > &p) |
template<class ElementType , class Extents , class LayoutPolicy , class AccessorPolicy , class... SliceSpecifiers> | |
mdspan_subspan_t< ElementType, Extents, LayoutPolicy, AccessorPolicy, SliceSpecifiers... > | fub::subspan (const basic_mdspan< ElementType, Extents, LayoutPolicy, AccessorPolicy > &src, SliceSpecifiers... slices) noexcept |
Variables | |
static constexpr all_type | fub::all |
template<typename T > | |
static constexpr bool | fub::is_mdspan_v |
template<typename E > | |
static constexpr bool | fub::is_extents_v |