|
|
using | ExternalData = std::conditional_t< is_mutable, std::span< real >, std::span< const real > > |
| | a simple alias to the type holding the data used by the view
|
| |
|
using | ValuesView = std::conditional_t< layout.data_size==dynamic_extent, std::span< real >, std::conditional_t< layout.data_size==1, real &, std::span< real, layout.data_size > > > |
| | type of the value returned by the call operator
|
| |
|
using | ConstValuesView = std::conditional_t< layout.data_size==dynamic_extent, std::span< const real >, std::conditional_t< layout.data_size==1, const real &, std::span< const real, layout.data_size > > > |
| | type of the value returned by the call operator (const case)
|
| |
|
| constexpr | FunctionView (const Space &, ExternalData, const size_type) |
| | constructor
|
| |
template<bool doPreconditionsCheck>
requires ((layout.data_size != dynamic_extent) && (layout.data_stride == dynamic_extent)) |
| constexpr | FunctionView (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, ExternalData, const size_type) |
| | constructor
|
| |
| constexpr | FunctionView (const Space &, ExternalData, const size_type, const size_type) |
| | constructor
|
| |
template<bool doPreconditionsCheck>
requires ((layout.data_size == dynamic_extent) && (layout.data_stride == dynamic_extent)) |
| constexpr | FunctionView (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, ExternalData, const size_type, const size_type) |
| | constructor
|
| |
| constexpr | FunctionView (const Space &, ExternalData, const size_type) |
| | constructor
|
| |
template<bool doPreconditionsCheck>
requires ((layout.data_size == dynamic_extent) && (layout.data_stride == dynamic_extent)) |
| constexpr | FunctionView (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, ExternalData, const size_type) |
| | constructor
|
| |
| constexpr | FunctionView (const Space &, ExternalData, const size_type) |
| | constructor
|
| |
template<bool doPreconditionsCheck>
requires ((layout.data_size == dynamic_extent) && (layout.data_stride != dynamic_extent)) |
| constexpr | FunctionView (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, ExternalData, const size_type) |
| | constructor
|
| |
| constexpr | FunctionView (const Space &, ExternalData) |
| | constructor
|
| |
template<bool doPreconditionsCheck>
requires ((layout.data_size != dynamic_extent) && (layout.data_stride != dynamic_extent)) |
| constexpr | FunctionView (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, ExternalData) |
| | constructor
|
| |
| constexpr | FunctionView (const Space &, ExternalData, const FunctionDataLayout< layout > &) |
| | check that the preconditions to build the view are met
|
| |
template<bool doPreconditionsCheck>
requires ((layout.data_size == dynamic_extent) && (layout.data_stride == dynamic_extent)) |
| constexpr | FunctionView (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, ExternalData, const FunctionDataLayout< layout > &) |
| | check that the preconditions to build the view are met
|
| |
| constexpr | FunctionView (const Space &, ExternalData, const FunctionDataLayout< layout > &) |
| | check that the preconditions to build the view are met
|
| |
template<bool doPreconditionsCheck>
requires ((layout.data_size != dynamic_extent) && (layout.data_stride == dynamic_extent)) |
| constexpr | FunctionView (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, ExternalData, const FunctionDataLayout< layout > &) |
| | check that the preconditions to build the view are met
|
| |
| constexpr | FunctionView (const Space &, ExternalData, const FunctionDataLayout< layout > &) |
| | check that the preconditions to build the view are met
|
| |
template<bool doPreconditionsCheck>
requires ((layout.data_size == dynamic_extent) && (layout.data_stride != dynamic_extent)) |
| constexpr | FunctionView (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, ExternalData, const FunctionDataLayout< layout > &) |
| | check that the preconditions to build the view are met
|
| |
|
constexpr | FunctionView (FunctionView &&)=default |
| |
|
constexpr | FunctionView (const FunctionView &)=default |
| |
| constexpr const Space & | getSpace () const noexcept |
| |
| constexpr real * | data (mgis::attributes::UnsafeAttribute, const size_type) |
| |
| constexpr real * | data (mgis::attributes::UnsafeAttribute, const size_type, const size_type) |
| |
| constexpr const real * | data (mgis::attributes::UnsafeAttribute, const size_type) const |
| |
| constexpr const real * | data (mgis::attributes::UnsafeAttribute, const size_type, const size_type) const |
| |
| constexpr ValuesView | operator() (const size_type) |
| |
| constexpr ValuesView | operator() (const size_type, const size_type) |
| |
| constexpr ConstValuesView | operator() (const size_type) const |
| |
| constexpr ConstValuesView | operator() (const size_type, const size_type) const |
| |
| constexpr bool | checkCompatibility (const FunctionView &) const |
| |
| constexpr std::span< const real > | data () const |
| |
|
constexpr | ~FunctionView ()=default |
| | destructor
|
| |
|
| FunctionDataLayout (FunctionDataLayout &&)=default |
| |
|
| FunctionDataLayout (const FunctionDataLayout &)=default |
| |
|
FunctionDataLayout & | operator= (FunctionDataLayout &&)=default |
| |
|
FunctionDataLayout & | operator= (const FunctionDataLayout &)=default |
| |
|
| ~FunctionDataLayout ()=default |
| | destructor
|
| |
| constexpr bool | isScalar () const noexcept |
| |
| constexpr size_type | getNumberOfComponents () const noexcept |
| |
| constexpr size_type | getDataStride () const noexcept |
| |
|
| static constexpr bool | checkPreconditions (AbstractErrorHandler &, const Space &, ExternalData) |
| | check that the preconditions to build the view are met
|
| |
| static constexpr bool | checkPreconditions (AbstractErrorHandler &, const Space &, ExternalData, const size_type) |
| | check that the preconditions to build the view are met
|
| |
| static constexpr bool | checkPreconditions (AbstractErrorHandler &, const Space &, ExternalData, const size_type) |
| | check that the preconditions to build the view are met
|
| |
| static constexpr bool | checkPreconditions (AbstractErrorHandler &, const Space &, ExternalData, const size_type) |
| | check that the preconditions to build the view are met
|
| |
| static constexpr bool | checkPreconditions (AbstractErrorHandler &, const Space &, ExternalData, const size_type, const size_type) |
| | check that the preconditions to build the view are met
|
| |
| static constexpr bool | checkPreconditions (AbstractErrorHandler &, const Space &, ExternalData, const FunctionDataLayout< layout > &) |
| | check that the preconditions to build the view are met
|
| |
template<LinearFunctionalSpaceConcept Space,
FunctionDataLayoutDescription layout = FunctionDataLayoutDescription{},
bool is_mutable = true>
struct mgis::function::FunctionView< Space, layout, is_mutable >
function defined on a space.
The FunctionView defines a function using an external memory region.
This memory region may contain more data than the one associated with the function as illustrated by the following figure:
|------------------------------------------------------------—| <- Raw data -> |------------------------------------—| <- Data of the first element --> |------------—| | <-function data-> ^ ^ | | data_size | data_stride
The size of the all data (including the one not related to the function) associated with one element of the space is called the data_stride in the FunctionView class.
The size of the data hold by the function per element of the space, i.e. th number of components of the function is given by data_size.