MGIS
Loading...
Searching...
No Matches
mgis::function::Function< Space, N > Struct Template Reference

default implementation of a function More...

#include </home/runner/work/MFrontGenericInterfaceSupport/MFrontGenericInterfaceSupport/include/MGIS/Function/Function.hxx>

Inheritance diagram for mgis::function::Function< Space, N >:
mgis::PreconditionsChecker< Child > mgis::function::FunctionStorage< Space, N > mgis::function::FunctionView< Space, layout, is_mutable > mgis::PreconditionsChecker< Child > mgis::function::FunctionDataLayout< layout > mgis::function::FunctionDataSize< layout.data_size > mgis::function::FunctionDataStride< layout.data_stride >

Public Member Functions

constexpr Function (const Space &)
 constructor from a space
 
constexpr Function (const Space &, const size_type)
 constructor from a space and a data size
 
template<bool doPreconditionsCheck>
requires (N != dynamic_extent)
constexpr Function (const PreconditionsCheck< doPreconditionsCheck > &, const Space &)
 constructor from a space
 
template<bool doPreconditionsCheck>
requires (N == dynamic_extent)
constexpr Function (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, const size_type)
 constructor from a space and a data size
 
constexpr Function (const Function &)
 copy constructor
 
constexpr Function (Function &&)
 assignement constructor
 
constexpr Function (const Function &)
 copy constructor
 
constexpr Function (Function &&)
 assignement constructor
 
constexpr FunctionView< Space, simple_data_layout_description< N >, trueview ()
 return a view of the function
 
constexpr FunctionView< Space, simple_data_layout_description< N >, falseview () const
 return a view of the function
 
constexpr std::span< realdata ()
 
constexpr bool fill (AbstractErrorHandler &, std::span< const real >) noexcept
 fill the structure using raw data
 
constexpr bool fill (AbstractErrorHandler &, std::initializer_list< real >) noexcept
 fill the structure using raw data
 
constexpr ~Function ()
 destructor
 
- Public Member Functions inherited from mgis::function::FunctionStorage< Space, N >
constexpr FunctionStorage (const Space &s)
 
constexpr FunctionStorage (const Space &s, const size_type dsize)
 
constexpr FunctionStorage (FunctionStorage &&)=default
 
constexpr FunctionStorage (const FunctionStorage &)=default
 
- Public Member Functions inherited from mgis::function::FunctionView< Space, layout, is_mutable >
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 realdata (mgis::attributes::UnsafeAttribute, const size_type)
 
constexpr realdata (mgis::attributes::UnsafeAttribute, const size_type, const size_type)
 
constexpr const realdata (mgis::attributes::UnsafeAttribute, const size_type) const
 
constexpr const realdata (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 realdata () const
 
constexpr ~FunctionView ()=default
 destructor
 
- Public Member Functions inherited from mgis::function::FunctionDataLayout< layout >
 FunctionDataLayout (FunctionDataLayout &&)=default
 
 FunctionDataLayout (const FunctionDataLayout &)=default
 
FunctionDataLayoutoperator= (FunctionDataLayout &&)=default
 
FunctionDataLayoutoperator= (const FunctionDataLayout &)=default
 
 ~FunctionDataLayout ()=default
 destructor
 
- Public Member Functions inherited from mgis::function::FunctionDataSize< layout.data_size >
constexpr bool isScalar () const noexcept
 
constexpr size_type getNumberOfComponents () const noexcept
 
- Public Member Functions inherited from mgis::function::FunctionDataStride< layout.data_stride >
constexpr size_type getDataStride () const noexcept
 

Static Public Member Functions

static constexpr bool checkPreconditions (AbstractErrorHandler &, const Space &)
 constructor from a space and a data size
 
static constexpr bool checkPreconditions (AbstractErrorHandler &, const Space &, const size_type)
 constructor from a space and a data size
 
- Static Public Member Functions inherited from mgis::function::FunctionView< Space, layout, is_mutable >
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
 

Additional Inherited Members

- Public Types inherited from mgis::function::FunctionView< Space, layout, is_mutable >
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)
 
- Static Public Attributes inherited from mgis::function::FunctionView< Space, layout, is_mutable >
static constexpr bool allowScalarAccessor
 
- Protected Member Functions inherited from mgis::function::FunctionDataLayout< layout >
constexpr size_type getDataOffset (const size_type) const noexcept
 
- Protected Attributes inherited from mgis::function::FunctionStorage< Space, N >
std::vector< realstorage_values
 values
 
- Protected Attributes inherited from mgis::function::FunctionView< Space, layout, is_mutable >
const Space space
 underlying discretization space
 
ExternalData values
 underlying values
 

Detailed Description

template<LinearFunctionalSpaceConcept Space, size_type N = dynamic_extent>
requires (N > 0)
struct mgis::function::Function< Space, N >

default implementation of a function

Template Parameters
Spacetype of the functional space
Nnumber of components
Note
the data stride is equal to the data size

Constructor & Destructor Documentation

◆ Function() [1/4]

template<LinearFunctionalSpaceConcept Space, size_type N>
requires (N != dynamic_extent)
constexpr mgis::function::Function< Space, N >::Function ( const Space &  s)
constexpr

constructor from a space

Parameters
[in]sspace

◆ Function() [2/4]

template<LinearFunctionalSpaceConcept Space, size_type N>
requires (N == dynamic_extent)
constexpr mgis::function::Function< Space, N >::Function ( const Space &  s,
const size_type  dsize 
)
constexpr

constructor from a space and a data size

Parameters
[in]sspace
[in]dsizenumber of components (data size)

◆ Function() [3/4]

template<LinearFunctionalSpaceConcept Space, size_type N>
requires (N != dynamic_extent)
template<bool doPreconditionsCheck>
requires (N != dynamic_extent)
constexpr mgis::function::Function< Space, N >::Function ( const PreconditionsCheck< doPreconditionsCheck > &  pcheck,
const Space &  s 
)
constexpr

constructor from a space

Parameters
[in]sspace

◆ Function() [4/4]

template<LinearFunctionalSpaceConcept Space, size_type N>
requires (N == dynamic_extent)
template<bool doPreconditionsCheck>
requires (N == dynamic_extent)
constexpr mgis::function::Function< Space, N >::Function ( const PreconditionsCheck< doPreconditionsCheck > &  pcheck,
const Space &  s,
const size_type  dsize 
)
constexpr

constructor from a space and a data size

Parameters
[in]sspace
[in]dsizedata size

Member Function Documentation

◆ checkPreconditions() [1/2]

template<LinearFunctionalSpaceConcept Space, size_type N>
requires (N != dynamic_extent)
constexpr bool mgis::function::Function< Space, N >::checkPreconditions ( AbstractErrorHandler ,
const Space &   
)
staticconstexpr

constructor from a space and a data size

Parameters
[in]eherror handler
[in]sspace

◆ checkPreconditions() [2/2]

template<LinearFunctionalSpaceConcept Space, size_type N>
requires (N == dynamic_extent)
constexpr bool mgis::function::Function< Space, N >::checkPreconditions ( AbstractErrorHandler eh,
const Space &  ,
const size_type  dsize 
)
staticconstexpr

constructor from a space and a data size

Parameters
[in]eherror handler
[in]sspace
[in]dsizedata size

◆ data()

template<LinearFunctionalSpaceConcept Space, size_type N>
requires (N > 0)
constexpr std::span< real > mgis::function::Function< Space, N >::data ( )
constexpr
Returns
a view to the function values

◆ fill() [1/2]

template<LinearFunctionalSpaceConcept Space, size_type N>
requires (N > 0)
constexpr bool mgis::function::Function< Space, N >::fill ( AbstractErrorHandler eh,
std::initializer_list< real values 
)
constexprnoexcept

fill the structure using raw data

Parameters
[in]eherror handler
[in]valuesraw data

◆ fill() [2/2]

template<LinearFunctionalSpaceConcept Space, size_type N>
requires (N > 0)
constexpr bool mgis::function::Function< Space, N >::fill ( AbstractErrorHandler eh,
std::span< const real values 
)
constexprnoexcept

fill the structure using raw data

Parameters
[in]eherror handler
[in]valuesraw data

The documentation for this struct was generated from the following files: